Linux下安装Nginx及配置SSL证书

安装 Nginx

nginx 的一些模块需要依赖一些 lib 库,在安装 nginx 之前,须先安装这些 lib 库,比如常见依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装:

$ yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl--devel

# 下载
$ wget https://nginx.org/download/nginx-1.22.1.tar.gz

# 解压文件到opt目录下
$ tar -xvzf nginx-1.22.1.tar.gz -C /opt

# 在/opt/nginx/目录下执行
# 对nginx添加ssl模块,默认是不添加的
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make

 如果是初次安装需要执行 make install,非初次安装切记不要执行 make install,否则会重新安装nginx。

上述操作执行完成以后,你的目录下会出现 objs 文件夹,文件夹内存在 nginx 文件,如图:

 

 接下来使用新的 nginx 文件替换掉之前安装目录 sbin 下的 nginx,注意这里的替换的时候可以先将之前的文件备份下,停掉nginx服务

#停止nginx服务
$ ./nginx -s stop

#替换之前的nginx
$ cp /opt/nginx/objs/nginx /opt/nginx/sbin

成功之后,进入到 nginx 安装目录下,查看 ssl 是否成功。

#注意这里是大写的V,小写的只显示版本号
$ ./nginx -V

nginx version: 1.22.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module

说明已经开启。

配置 ssl 证书

将下载好的证书(证书一般是crt或pem文件和key文件,这里名字可以随便改)上传到服务器,我将证书放在了 config.d/cert 目录下。

编辑 Nginx 根目录下的 nginx.conf 文件,修改内容如下:

server {
    listen 80;
    server_name you.domain.com;
    #将请求转成https
    rewrite ^(.*)$ https://$host$1 permanent;
}

server {
     #SSL 默认访问端口号为 443
     listen 443 ssl; 
     #请填写绑定证书的域名
     server_name you.domain.com; 
     #请填写证书文件的相对路径或绝对路径
     ssl_certificate you.domain.com.crt; 
     #请填写私钥文件的相对路径或绝对路径
     ssl_certificate_key you.domain.com.key; 
     ssl_session_timeout 5m;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3; 
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;

     location / {
         #网站主页路径
         root html; 
         index  index.html index.htm;
     }
 }

配置完成后,检查一下nginx配置文件是否可用,有 successful 表示可用。

# 检查nginx配置文件
$ nginx -t

配置正确后,重新加载配置文件使配置生效:

# 重启
$ ./nginx -s reload

至此,nginx 的 https 访问就完成了,并且通过 rewrite 方式把所有 http 请求也转成了 https 请求,更加安全。

nginx 命令详解

  • -?,-h:查看帮助
  • -v:显示版本信息并退出
  • -V:显示版本和配置选项信息,然后退出
  • -t:检测配置文件是否有语法错误,然后退出
  • -T:检测配置文件语法,打印它并退出
  • -q:在配置测试期间,禁止显示非错误信息
  • -s:发送信号给主进程,stop 强制退出,quit 优雅的退出,reopen 重启,reload 重新加载配置
  • -p:设置 nginx 目录
  • -c:指定启动使用的配置文件(常用)
  • -g:在配置文件之外设置全局指令

常用命令

# 启动
$ ./nginx 

# 此方式相当于先查出 nginx 进程 id 再使用 kill 命令强制杀掉进程
$ ./nginx -s stop

# 此方式是待 nginx 进程处理任务完毕进行停止
$ ./nginx -s quit

# 重启
$ ./nginx -s reload

# 查询nginx进程
$ ps aux|grep nginx

# 检查指定配置文件
$ ./nginx -t -c /opt/nginx/conf.d/you.domain.conf

# 查找并杀死所有 nginx 进程
$ ps aux | grep nginx |awk '{print $2}' | xargs kill -9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/355394.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

node后端服务框架

前言: 随着互联网的快速发展,Web 开发已成为当今计算机领域中非常重要的一部分。 Node.js 的出现为前端开发者提供了一个全新的方向,使得他们可以同时涉足前端和后端开发。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时&#xff…

批量导出域控用户及其所在OU和组

在Windows域环境中,批量导出域控用户及其所在OU(组织单位)和组成员身份信息,可以使用PowerShell脚本实现。以下是一个基本的示例脚本: Import-Module ActiveDirectory# 遍历所有用户 Get-ADUser -Filter * -Propertie…

数组奇缘:林浩然与杨凌芸的Java编程冒险记

数组奇缘:林浩然与杨凌芸的Java编程冒险记 Array Odyssey: The Java Programming Adventure of Lin Haoran and Yang Lingyun 在Java编程的广阔天地中,林浩然和杨凌芸的故事如同一段奇妙而生动的冒险传奇。林浩然,一个对代码充满热情、逻辑严…

python16-Python的字符串之转义字符

.前面已经提到,在字符串中可以使用反斜线进行转义;如果字符串本身包含反斜线,则需要使用“”表示,“W”就是转义字符。Python当然不会只支持这么几个转义字符,Python支持的转义字符如下表 掌握了上面的转义字符之后,下…

互斥锁/读写锁的概念及使用、死锁的避免

互斥锁的概念和使用 线程通信-互斥 临界资源:一次只允许一个任务(进程、线程)访问的共享资源 临界区:访问临界资源的代码 互斥机制:mutex互斥锁,任务访问临界资源前申请锁,访问完后释放锁互斥锁初始化 两种方法创建互…

中科星图——MODIS/006/MYD13A1的MYD13A1.006类数据集

数据名称: MYD13A1.006 Modis 16天 Aqua 500m 数据来源: NASA 时空范围: 2000-2022年 空间范围: 全国 数据简介: MOD13A1 V6数据集是由Aqua星搭载的中分辨率成像光谱仪获取的L3级植被指数产品&#xff0c…

三角函数转换(积分必备)

目录 一、诱导公式 二、二角和差公式 三、积化和差公式 四、万能、辅助角公式 五、倍角公式 六、反三角函数 七、余弦定理 一、诱导公式 1.公式一:设α为任意角,πα的三角函数值与α的三角函数值之间的关系 sin(π A) =-s…

《向量数据库指南》——Milvus Cloud向量过滤搜索及其优化

向量过滤搜索是一种基于条件的向量搜索方法,常用于推荐系统和信息检索等领域,能够帮助用户快速找到在给定条件下与其查询相关的内容。 在 Milvus Cloud社区中,这也是呼声比较高的功能。为满足广大用户的需求,Milvus Cloud在 Knowh…

王殿华主任:中医对睡眠的认知与睡眠障碍分类

睡眠不足不仅会导致黑眼圈,还会带来许多健康风险。怎样才能睡得更好? 一、睡眠障碍的分类 失眠症呼吸系统相关睡眠障碍;中枢多发性睡眠;睡眠节律紊乱;睡眠异常;睡眠运动障碍;其他睡眠障碍。 失…

CSS3的学习笔记

CSS3的学习笔记 什么是css: CSS是层叠样式表(Cascading Style Sheets)的缩写,是一种用来描述网页样式和布局的标记语言。它可以控制网页中的文字大小、颜色、间距、背景、边框、布局等方面,使网页更加美观和易于阅读。通过CSS&a…

Jmeter学习系列之一:Jmeter的详细介绍

目录 一、Jmeter的介绍 二、Jemeter的特点 三、Jemter相关概念 3.1采样器(Samplers) 3.2逻辑控制器(Logic Controllers) 3.3监听器(Listeners) 3.4配置元件(Configuration Elements&#…

python 匿名函数lambda的简洁用法

当前版本: Python 3.8.4 文章目录如下 1. lambda 的特点 2. lambda 的用法 2.1. 基本语法 2.2. 函数传参 2.3. 结合条件语句 3. lambda 的应用场景 3.1. 处理列表 3.2. 处理字典 1. lambda 的特点 lambda 是一种匿名函数的定义方式,也称为 lam…

Windows 7 x64 SP1 安装 Google Chrome 109.0.5414.120 (正式版本) (64 位)

1 使用 IE 浏览器 输入网址 Google Chrome 网络浏览器得益于 Google 智能工具,Chrome 现在更易用、更安全、更快速。https://www.google.cn/chrome/,点击下载 Chrome。 2 点击 接受并安装。 3 提示。 4 保存。 5 双击 运行 ChromeSetup.exe。 6 等待安…

MySQL十部曲之六:数据操作语句(DML)

文章目录 前言语法约定DELETEINSERTSELECT查询列表SELECT 选项子句FROMWHEREORDER BYGROUP BYHAVINGWINDOWLIMITFOR SELECT ... INTO连接查询CROSS JOIN和INNER JOINON和USINGOUTER JOINNATURE JOIN 子查询标量子查询使用子查询进行比较带有ANY、IN或SOME的子查询带有ALL的子查…

网站将http升级到https大概要多少费用

随着网络安全意识的不断提升,越来越多的网站正从传统的HTTP协议转向更安全的HTTPS协议。这一转变的核心在于部署SSL(Secure Sockets Layer)或TLS(Transport Layer Security)证书,以实现数据加密传输&#x…

docker 容器管理

文章目录 docker 容器管理容器基础容器概念可写的容器层容器的磁盘大小写时拷贝 容器操作容器创建和运行容器的启停查看容器信息进入容器操作删除容器基于容器创建镜像 容器限制限制容器内存限制容器CPU限制容器块IO带宽资源限制的实现机制动态修改容器配置 容器监控容器监控命…

热门应用滥用苹果 iPhone 推送通知,暗中窃取用户数据

移动研究人员 Tommy Mysk 近日揭露,部分热门应用利用 iPhone 推送通知功能秘密发送用户数据,这引发了用户隐私安全担忧。 许多 iOS 应用程序正在使用由推送通知触发的后台进程来收集设备的用户数据,从而有可能创建用于跟踪的指纹档案。 Mys…

【misc | CTF】攻防世界 2017_Dating_in_Singapore

天命:这次终于碰到了算是真正的misc题目了 下载附件,打开是PDF,我一开始以为是flag隐写在PDF里面了 虽然也不奇怪,应该是可以的,毕竟PDF有xss漏洞也是可以的 言归正传,打开PDF 看着新加坡的日历&#xff…

机器学习系列15:通过t-SNE可视化高维数据

t-SNE 的全称是 t-distributed stochastic neighbor embedding(t-分布随机领域嵌入),这是一种非线性降维技术。而 PCA 和 LDA 是线性的降维技术。 t-SNE 通常用来在二维或者三维空间中可视化复杂数据集。 简单来说,t-SNE 试图发…

idea中Spring项目yml文件注释中文乱码问题

idea中spring项目yml文件中文乱码问题,如图: 当出现这种情况一般就是idae的配置问题,解决起来也是非常简单的。 按下面操作即可,如图: 解决方式: 1.进入设置 2.找到File Encodings,然后再将编…