kuyjhtgrf 发表于 2017-1-11 10:21:13

Nginx重新编译添加模块

下载Nginx源码(尽量与原来版本一样,此处我使用的是 nginx-1.5.1.tar.gz)

tar -zxf   nginx-1.5.1.tar.gz

cd nginx-1.5.1

之前使用的编译参数为:./configure --prefix=/usr/local/webserver/nginx
使用 nginx -V 可以看到没有添加任何模块:

1
2
3
4
# /usr/local/webserver/nginx/sbin/nginx -V
nginx version: nginx/1.5.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
configure arguments: --prefix=/usr/local/webserver/nginx





下面是重新编译时的代码和使用的模块:

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module

然后make, make执行完只有千万不要执行make install,否则就会覆盖安装了,那就呵呵了。。。

在make执行完之后,在源码目录中的objs目录中有一个可执行的nginx文件,这个就是重新编译后的程序了。

备份旧的nginx文件:
cd   /usr/local/webserver/nginx/sbin
mv nginxnginx.bak

将新的nginx文件放入到sbin中:
cpnginx-1.5.1/objs/nginx    /usr/local/webserver/nginx/sbin

测试一下新的程序是否正确:

1
2
3
# /usr/local/webserver/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful




经检查没有问题,平滑启动或者重启nginx服务器后,查看nginx新版本及其编译参数:

1
2
3
4
5
# /usr/local/webserver/nginx/sbin/nginx -V
nginx version: nginx/1.5.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module




发现新添加的模块已经安装完成了

1600079794 发表于 2017-1-11 14:12:15

666!给楼主点个赞!
页: [1]
查看完整版本: Nginx重新编译添加模块