News:三分天注定,七分靠打拼,爱拼才会赢!致力打造专业IT博客。如果你对本博客有任何意见或建议请联系作者,邮箱:blog@caokuan.cn

Nginx 平滑添加模块

逝水无痕 156 0 条

对于在线上正常运行的 Nginx 服务器,在需要添加模块时停止服务、重新编译显然不太合适。本文将介绍如何不停止服务、平滑的添加模块。

nginx.jpg

1. 查看目前 Nginx 的编译参数 (本文以 nginx-1.4.7 为例)

./${nginx_dir}/sbin/nginx -V 

例如:
nginx version: nginx/1.4.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
TLS SNI support enabled
configure arguments: --prefix=/opt/${nginx_dir}/ 

2. 如果在安装 Nginx 时留存了原编译目录,则进入原编译目录;如果删除了,需重新下载原文件 nginx-1.4.7.tar.gz ,解压后进入目录,不要停止原服务,编译

./configure --prefix=/opt/${nginx_dir}/ --with-http_stub_status_module --with-http_ssl_module

3. make (不要 make install )

make

4. 备份并替换 Nginx 可执行文件

在执行完 make 后,会在编译目录下生成 objs 目录,进入 objs 目录找到 nginx 可执行文件(先备份原服务器 nginx 可执行文件),将新编译的 nginx 可执行文件替换掉原来的 nginx 可执行文件即可:

mv /opt/${nginx_dir}/sbin/nginx /opt/${nginx_dir}/sbin/nginx.bak

cp objs/nginx /opt/${nginx_dir}/sbin/

5. 测试

/opt/${nginx_dir}/sbin/nginx -V 

输出结果:
nginx version: nginx/1.4.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
TLS SNI support enabled
configure arguments: --prefix=/opt/${nginx_dir}/ --with-http_stub_status_module --with-http_ssl_module 

/opt/${nginx_dir}/sbin/nginx -t 

/opt/${nginx_dir}/sbin/nginx -s reload
发表我的评论
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址