Nginx动态添加模块

写在前面的话

前面写到Nginx的编译安装与配置,配置过程比较简单,只是进行了最基础最简单的配置。最近打算给网站加个ssl,重启nginx却提示缺少the "ssl" parameter requires ngx_http_ssl_module,这TM就尴尬了,之前配置的时候没加这句--with-http_ssl_module,现在用到了,于是就想不想重装nginx的情况下把这个模块加上。

其实步骤比较简单:

  1. 安装要加的模块
  2. 查看原来的配置参数
  3. 加入新参数,重新编译
  4. 替换nginx二进制文件

详细步骤

安装要加的模块

我要加的模块依赖openssl,但是已经安装,此步忽略。

查看原来的配置参数

执行命令:

1
/usr/local/nginx/sbin/nginx -V

然后可以看到如下信息:

1
2
3
4
5
ginx version: nginx/1.10.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx

configure arguments:就是我原来的配置信息。

加入新参数,重新编译

下面重新编译吧,具体怎么编译查看之前得文章吧这篇

新的编译参数

1
--prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --with-http_ssl_module

然后make,注意不要make install,你make install的话就是重新安装了。

替换nginx二进制文件

1
2
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/

我替换之前先备份了执行文件,好习惯😜

至此,愉快的重启吧,提示下,重新编译之前最好把nginx进程都干死哦!


此文章更新于2016年6月1日 11:11 😂

在此打赏