已经编译的nginx添加with-http_ssl_module模块
首先看下编译安装nginx的时候,都编译安装的哪些模块:
[root@VM-0-5-centos sbin]# ./nginx -V
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments: --prefix=/home/nginxTest/nginx-1.10.3 --conf-path=/home/nginxTest/nginx-1.10.3/nginx.conf
仔细看就发现已经安装的nginx没有http_ssl_module模块。
添加with-http_ssl_module模块
1、进入之前下载并解压了的源码包目录
cd /home/nginxTest/nginx-1.10.3
2、在./configure中加入--with-http_ssl_module
./configure --prefix=/home/nginxTest/nginx-1.10.3 --conf-path=/home/nginxTest/nginx-1.10.3/nginx.conf --with-http_ssl_module
3、重新编译nginx
输入命令make进行编译这一步千万不能 make install ;不然会把之前已经安装的nginx 覆盖掉。
使用 make 命令编译后(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。
[root@VM-0-5-centos nginx-1.24.0]# ls auto CHANGES.ru configure html Makefile nginx README CHANGES conf contrib LICENSE man objs src
4、备份原来ngixn的启动脚本
cp /home/nginxTest/nginx-1.10.3/sbin/nginx /home/nginxTest/nginx-1.10.3/sbin/nginx.old
5、停止掉nginx进程
为了下一步替换nginx二进制文件,需要先停止掉正在运行的nginx进程。
/home/nginxTest/nginx-1.10.3/sbin/nginx -s stop
6、替换nginx可执行文件
在nginx源码包目录下:
cp ./objs/nginx ./sbin/nginx
7、重新启动nginx,查看模块是否添加成功
[root@VM-0-5-centos nginx-1.10.3]# ./sbin/nginx -V
nginx version: nginx/1.10.3
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=/home/nginxTest/nginx-1.10.3 --conf-path=/home/nginxTest/nginx-1.10.3/nginx.conf --with-http_stub_status_module --with-http_ssl_module
若显示以上内容则加入模块成功。
编译的中间文件目录
objs目录用于放置在 configure 命令执行后所生成的源文件及目录,以及make命令执行后生成的目标文件和最终连接成功的二进制文件。
默认情况下,configure命令会将该目录命名为objs,并放在Nginx源代码目录下。