nginx启用spdy支持
nginx限制访问速度

如何给在用的nginx添加新模块?

妙音 posted @ 2014年11月13日 11:29 in nginx , 2546 阅读
有一个在用的nginx,以yum方法安装的,怎样在不改动配置的情况下,为它添加模块.
以添加spdy模块为例.

编译新模块

预编译
./configure  --prefix=/etc/nginx \
   --sbin-path=/usr/sbin \
   --conf-path=/etc/nginx/nginx.conf \
   --pid-path=/run/nginx.pid  \
   --error-log-path=/var/log/nginx/error.log \
   --with-http_spdy_module \
   --with-http_ssl_module \
   --with-ipv6 
--sbin-path, --pid—path, --conf—path,--erro—path三个参数是设定默认配置路径.
如果旧的nginx不是以/usr/local/nginx为安装路径,则需要指定上面参数,可以在旧nginx的nginx.conf文件中取到.
 
编译
make之后复制

验证新nginx是否可用

验证编译后的nginx是否可以使用已有的配置
./obj/nginx -t

使用新nginx

备份 cp /usr/sbin/nginx /usr/sbin/nginx-bak
替换 cp ./obj/nginx /usr/sbin/nginx
ok了
 
Avatar_small
依云 说:
2014年11月15日 00:11

不 OK。完全错了。

cp ./obj/nginx /usr/sbin/nginx 这句很可能会导致运行中的旧 nginx 崩溃。参见 http://en.chys.info/2009/05/install-vs-cp-and-mmap/ 安装二进制文件应该使用 install 命令。

Avatar_small
妙音 说:
2014年11月17日 08:48

@依云: nginx的Makefile也是用cp

Avatar_small
依云 说:
2014年11月17日 12:13

@妙音: 不是吧……

Avatar_small
依云 说:
2014年11月17日 12:35

@妙音: 好吧,nginx 连在别的目录 build 都不支持,默认的安装路径也和 Apache httpd 之类的一样怪异无比…………

Avatar_small
依云 说:
2014年11月17日 12:36

@妙音: 不过它在 cp nginx 前会把旧的 nginx 给移走,所以大部分时候不会覆盖旧的 nginx 文件。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter