nginx 替换
问题
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
- nginx缺少http_ssl_module模块,需要在已安装的nginx中添加ssl模块。需要对原来的模块进行增加
操作步骤
-
首先查看原来安装的nginx已经安装的模块,由于我的安装目录是
/usr/local/nginx
,所以命令是/usr/local/nginx/sbin/nginx -V
-
输出结果是:
nginx version: nginx/1.19.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) configure arguments: --prefix=/usr/local/nginx
-
可以看到从configure arguments中看出来,任何模块都没有,所以需要进行添加,进入nginx的安装包
cd nginx-1.19.0/
-
执行以下命令,注意目录
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
-
然后执行
make
,注意不需要install
,因为之前安装过了,如果执行install
会覆盖 -
为了防止出现意外,将之前的 nginx 进行备份,然后干掉之前的启动的 nginx, 再把刚才编译好的 nginx 复制过去
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak ps aux | grep nginx # 查询进程号 kill -9 pid # pid 就是 nginx 的进程号,注意如果存在 worker process 进程,也需要干掉 cp ./objs/nginx /usr/local/nginx/sbin/
-
检查是否安装成功
/usr/local/nginx/sbin/nginx -V
-
出现以下结果即是成功
nginx version: nginx/1.19.0 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=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module