重新编译LNMP中的Nginx

时间:16-04-04 栏目:域名空间服务器 作者:kyle 评论:1 点击: 3,728 次

 

由于需要在Nginx上添加Lua的支持,使用的是常用的LNMPA环境。

 

所以需要本机升级Nginx增加新的模块支持。

 

简单记录一下Nginx增加模块的方法。

 

Step1:检查Nginx的版本和已经添加的模块信息

image

使用命令nginx -V,大写的V显示带模块的信息。

 

Step2:下载需要的模块,

我安装的是lua-nginx-module-0.10.2和ngx_devel_kit-0.2.19 2个模块

下载之后,放到/usr/local/下面备用。

 

Step3:下载同版本的Nginx

cd /home/

wget http://nginx.org/download/nginx-1.8.1.tar.gz

解压

tar zxvf nginx-1.8.1.tar.gz

cd nginx-1.8.1 进入目录

 

复制以前版本的配置信息,从nginx -V里面复制。

复制出来是这样的:

--prefix=/usr/local/Cellar/nginx/1.8.1 --with-http_ssl_module --with-pcre --with-ipv6 --sbin-path=/usr/local/Cellar/nginx/1.8.1/bin/nginx --with-cc-opt='-I/usr/local/Cellar/pcre/8.38/include -I/usr/local/Cellar/openssl/1.0.2g/include' --with-ld-opt='-L/usr/local/Cellar/pcre/8.38/lib -L/usr/local/Cellar/openssl/1.0.2g/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --pid-path=/usr/local/var/run/nginx.pid --lock-path=/usr/local/var/run/nginx.lock --http-client-body-temp-path=/usr/local/var/run/nginx/client_body_temp --http-proxy-temp-path=/usr/local/var/run/nginx/proxy_temp --http-fastcgi-temp-path=/usr/local/var/run/nginx/fastcgi_temp --http-uwsgi-temp-path=/usr/local/var/run/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/var/run/nginx/scgi_temp --http-log-path=/usr/local/var/log/nginx/access.log --error-log-path=/usr/local/var/log/nginx/error.log --with-http_gzip_static_module

 

在这个下面,增加我需要的模块。添加上:

--add-module=/usr/local/lua-nginx-module-0.10.2 --add-module=/usr/local/ngx_devel_kit-0.2.19

 

添加到最后。整合出来是

--prefix=/usr/local/Cellar/nginx/1.8.1 --with-http_ssl_module --with-pcre --with-ipv6 --sbin-path=/usr/local/Cellar/nginx/1.8.1/bin/nginx --with-cc-opt='-I/usr/local/Cellar/pcre/8.38/include -I/usr/local/Cellar/openssl/1.0.2g/include' --with-ld-opt='-L/usr/local/Cellar/pcre/8.38/lib -L/usr/local/Cellar/openssl/1.0.2g/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --pid-path=/usr/local/var/run/nginx.pid --lock-path=/usr/local/var/run/nginx.lock --http-client-body-temp-path=/usr/local/var/run/nginx/client_body_temp --http-proxy-temp-path=/usr/local/var/run/nginx/proxy_temp --http-fastcgi-temp-path=/usr/local/var/run/nginx/fastcgi_temp --http-uwsgi-temp-path=/usr/local/var/run/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/var/run/nginx/scgi_temp --http-log-path=/usr/local/var/log/nginx/access.log --error-log-path=/usr/local/var/log/nginx/error.log --with-http_gzip_static_module --add-module=/usr/local/lua-nginx-module-0.10.2 --add-module=/usr/local/ngx_devel_kit-0.2.19

 

然后进入新下载的nginx目录下面。

./configure –prefix****粘贴上面的内容。

 

sudo make 编译代码。

 

然后,千万不要使用普通安装包的make install 进行全新安装。我只需要编译出来的代码即可。

 

cd objs #进入下面编译包里面的objs目录,

复制新生成的nginx到系统的nginx里面。

 

我的mac是这样的:

sudo nginx –s stop #先停止系统的nginx运行

cp /home/nginx-1.8.1/objs/nginx /usr/local/Cellar/nginx/1.8.1/bin/nginx #覆盖新编译的nginx到系统里面。

sudo nginx 启动nginx

然后再nginx –V

没有问题代表编译过去的代码可以。

 

Nginx新加模块,或者重新编译的方法都是一样的。就是重新下载对应的版本回来进行编译,然后复制主程序到系统里面。

 

基本也同样适合升级nginx安装。只是升级略有一些区别而已。

 

编译完成之后可以在配置文件中使用新的模块带来的功能。

 

Nginx非常强大,配合Lua可以实现一些特别有功能,包括日志统计、反向代理、负载均衡这些都比较简单但是高效。以后有空会继续分享。

成都SEO小五嚎2句: 本文是(成都SEO小五)辛苦弄出来的,转载成都SEO小五原创的请保留链接: 重新编译LNMP中的Nginx,3Q

重新编译LNMP中的Nginx:目前有1 条留言,牛逼吧!

  1. 沙发
    行书:

    果然不是同一行,什么都不懂。

    2016-04-05 7:50 am [回复]

来给哥评论评论


------====== 小五公告 ======------
成都SEO小五,专注成都搜索引擎优化。
小五善长站内外优化,C#、PHP开发,中英文SEO,Google中英文和百度优化技术。欢迎群内交流。伸手党请绕路,求资源的请绕开,求问题解答的请进群内交流。开放了一个QQ交流群:160750032。加入验证时请标注任何SEO相交字眼。友情链接直接Q我,收录正常,内容大部份原创、SEO或者程序开发、网络营销、线上推广等相关行业即可。

常用工具

赞助广告

来看过哥的人