- 内容来源于网络上资料的整理
- 按照此流程操作,一遍就能成功
环境
CentOS 7.x
安装
# gcc安装,nginx源码编译需要
yum install gcc-c++ -y
# PCRE pcre-devel 安装,nginx 的 http 模块使用 pcre 来解析正则表达式
yum install -y pcre pcre-devel -y
# zlib安装,nginx 使用zlib对http包的内容进行gzip
yum install -y zlib zlib-devel -y
# OpenSSL 安装,强大的安全套接字层密码库,nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http)
yum install -y openssl openssl-devel -y
# 下载版本号可根据目前官网最新稳定版自行调整
# 官网地址:https://nginx.org/
wget -c https://nginx.org/download/nginx-1.16.1.tar.gz
# 根目录使用ls命令可以看到下载的nginx压缩包,然后解压
tar -zxvf nginx-1.16.1.tar.gz
# 解压后进入目录
cd nginx-1.16.1
# 使用默认配置
./configure
# 编译安装
make
make install
# 查看默认安装的位置,一般情况下在 /usr/local/nginx
whereis nginx
#启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx # 启动
./nginx -s stop # 停止,直接查找nginx进程id再使用kill命令强制杀掉进程
./nginx -s quit # 退出停止,等待nginx进程处理完任务再进行停止
./nginx -s reload # 重新加载配置文件,修改nginx.conf后使用该命令,新配置即可生效
# 重启nginx,建议先停止,再启动
./nginx -s stop
./nginx
# 开机自启动
# 在rc.local增加启动代码即可
vim /etc/rc.local
# 增加一行 /usr/local/nginx/sbin/nginx,增加后保存
# 设置执行权限
cd /etc
chmod 755 rc.local
配置SSL
# Nginx开启SSL模块
# 切换到源码包
cd /usr/src/nginx-1.5.9
# 切换到安装目录,查看nginx原有的模块
# 如果显示configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module,即表示已正确安装SSL,不需要重新安装
./nginx -V
# 如果没有安装则进入nginx源码包目录
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 配置完成后,运行命令make命令:
# 注意:此处不能进行make install,否则就是覆盖安装
make
# 替换已安装好的nginx包
# 替换之前先备份
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# 先停止nginx服务
# 查询nginx主进程号
ps -ef | grep nginx
# 从容停止Nginx
kill -QUIT 主进程号
# 快速停止Nginx
kill -TERM 主进程号
# 强制停止Nginx
pkill -9 nginx
# 将刚刚编译好的nginx覆盖掉原有的nginx
cp ./objs/nginx /usr/local/nginx/sbin/
# 然后重新启动nginx,仍可以通过命令查看是否已经加入成功
/usr/local/nginx/sbin/nginx -V
# 此时应该显示为即配置成功
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module