nginx编译后怎么新增新的模块

Posted 阳光与叶子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx编译后怎么新增新的模块相关的知识,希望对你有一定的参考价值。

nginx编译后运行了一段时间使用中需要用到某个模块发现没有安装,这里教大家怎么快速的新增模块

 

举例:nginx编译后,需要设置tcp转发,发现当初编译的时候没有添加stream模块,现在带大家来操作新增模块

 

首先我们先查看我们之前编译的时候都编译了那些参数:

# /usr/local/nginx/sbin/nginx -V     #这里是我nginx的路径,每个人都不通

 

 之前编译了这么多参数都没有编译到stream,失策失策

如果之前的nginx解压目录还在的话最好,如果没有了就去官网下载一个相同版本的nginx解压,进入到nginx目录(这里的nginx是之前从网上下载下来解压后的目录,不是当前正在运行的nginx目录,切记切记)

 

进入目录重新编译,把上面查到之前编译的参数都带上,后面添加上需要新增的模块

# ./configure --prefix=/usr/local/nginx --modules-path=/usr/local/nginx/modules --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/usr/local/nginx/temp/client_temp --http-proxy-temp-path=/usr/local/nginx/temp/proxy_temp --http-fastcgi-temp-path=/usr/local/nginx/temp/fastcgi_temp --http-uwsgi-temp-path=/usr/local/nginx/temp/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/temp/scgi_temp --user=nginx --group=nginx --with-file-aio --with-http_image_filter_module --with-http_degradation_module --with-http_secure_link_module --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-jemalloc --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-zlib=/opt/soft/zlib-1.2.11 --with-openssl=/opt/soft/openssl-1.1.1b --with-openssl-opt=-fPIC --with-pcre=/opt/soft/pcre-8.43 --with-pcre-opt=-fPIC --with-pcre-jit --with-cc-opt=\'-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=native\' --with-ld-opt=\'-Wl,-z,relro -Wl,-E\' --with-http_geoip_module=dynamic --with-luajit-lib=/usr/local/luajit/lib/ --with-luajit-inc=/usr/local/luajit/include/luajit-2.1/ --add-module=./modules/ngx_http_lua_module --add-module=/opt/soft/ngx_devel_kit-0.3.0rc1 --with-stream  --with-stream_ssl_module

执行之后make下,make执行时间可能有点长,make后千万不要执行make install

执行make后,当前目录会生成一个objs目录,进入这个目录

目录下会产生一个新的nginx程序文件,这个就是新的程序文件,把之前的备份,产生新的拷贝过去

# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.back

# cp nginx /usr/local/nginx/sbin/nginx

拷贝过去之后我们再次查询下nginx都编译了那些参数

 

 发现新增的参数已经添加上了

接下来就可以去操作了

 

以上是关于nginx编译后怎么新增新的模块的主要内容,如果未能解决你的问题,请参考以下文章

Nginx重新编译添加模块

nginx重新编译添加新模块

Nginx重新编译添加模块

Nginx在线服务状态下平滑升级或新增模块的详细操作

在mac下用homebrew安装nginx后,怎么添加第三方module

怎么编译安装nginx1.8.1