本文所用系统:CentOS 7.5 64位
通过源码编译安装
下载
nginx-1.22.0,这里我放到/opt目录下解压缩
安装依赖库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#安装C编译器(功能:预处理、编译、链接、汇编)
yum install -y gcc
#安装pcre库(功能:解析正则表达式)
yum install -y pcre pcre-devel
#安装zlib(功能:用于对数据进行压缩)
yum install -y zlib zlib-devel
#安装openssl(功能:网络加密通信)
yum install -y openssl openssl-devel
# 也可用一条指令代替上面👆的
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel安装
1
2
3
4
5
6# 使用prefix选项指定安装的目录,使用with-http_ssl_module添加https模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make
make install启动
1
2
3
4
5# 进入nginx的sbin目录
cd /usr/local/nginx/sbin
# 启动
./nginx放行端口。分下面两种情况
若为本地虚拟机,则手动关闭防火墙
1
2
3
4# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开机启动
systemctl disable firewalld.service若为云服务器(阿里云、腾讯云…),则配置安全组策略
nginx命令:
1 | # 快速停止 |
注册系统服务
通过系统服务的方式启动nginx
- 创建服务脚本
1 | vim /usr/lib/systemd/system/nginx.service |
- 服务脚本内容
1 | [Unit] |
- 重新加载系统服务
1 | systemctl daemon-reload |
- 设置开机启动
1 | systemctl enable nginx.service |
系统服务命令:
1 | # 查看nginx状态 |
增加https模块
若安装nginx时没有安装http_ssl_module模块,通过以下方式增加
记得先关闭运行的nginx!!!
- 进入nginx源码包目录
1 | cd /opt/nginx-1.22.0 |
- 查看
configure arguments参数
1 | /usr/local/nginx/sbin/nginx -V |
- 追加https模块的参数
1 | ./configure --prefix=/usr/local/nginx --with-http_ssl_module |
- 执行
make(不能是make install,否则会覆盖安装)
1 | make |
- 当前目录下会生出一个
objs文件夹,将里面的nginx文件复制覆盖到/usr/local/nginx/sbin中
1 | cp ./objs/nginx /usr/local/nginx/sbin/ |
- 重启nginx,通过命令查看发现已经增加了https模块
1 | /usr/local/nginx/sbin/nginx -V |