搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 51reboot运维开发 > 手动编译 Nginx 并安装 VeryNginx

手动编译 Nginx 并安装 VeryNginx

51reboot运维开发 2018-02-28

转载|出处:http://t.cn/REqexGh


VeryNginx (http://t.cn/RbFKg88) 是个非常有意思且便捷的 Nginx 扩展程序。最近新开了台 VPS,便想体验一下它带来的快感。


VeryNginx 有个不超过 5 行的安装方法,作者强迫症更喜欢使用自己编译的 Nginx。


基础依赖


  • PCRE (一个正则表达式库,nginx 伪静态可以用到)

  • OpenSSL(https 连接需要)

  • zlib(开启 gzip 需要,一个提供数据压缩用的函式库)


首先进入 /usr/local/src 目录:


  1. cd /usr/local/src


编译器安装


  1. apt-get install build-essential libtool


PCRE (8.41)


下载并解压 PCRE (http://t.cn/REqpFk4):


  1. wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz

  2. tar -xzvf pcre-8.41.tar.gz


zlib (1.2.11)


下载并解压 zlib (http://www.zlib.net/):


  1. wget http://www.zlib.net/zlib-1.2.11.tar.gz

  2. tar -xzvf zlib-1.2.11.tar.gz


OpenSSL (1.0.2l)


下载并解压 OpenSSL (http://t.cn/8soo9pe):


lua-nginx-module 不支持 1.1.0


  1. wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz

  2. tar -xzvf openssl-1.0.2l.tar.gz


ngx_lua 依赖


VeryNginx 使用到了以下模块,自己编译 Nginx 时,需要包含以下模块

才能正常使用。


  1. http_ssl_module

  2. http_stub_status_module

  3. lua-nginx-module


ngx_lua 即为 lua-nginx-module


http_stub_status_modulehttp_ssl_module 只需要在 ./configure 

时加上两行即可。lua-nginx-module 稍微麻烦一点,它需要以下依赖:


  1. LuaJIT 2.0 或 LuaJIT 2.1(推荐)或 Lua 5.1(5.2 目前不支持)

  2. ngx_devel_kit(NDK)

  3. ngx_lua


同样进入 /usr/local/src 目录:


  1. cd /usr/local/src


LuaJIT (2.1.0-beta3)


下载并安装 LuaJIT (http://luajit.org/download.html):


  1. wget http://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz

  2. tar -xzvf LuaJIT-2.1.0-beta3.tar.gz

  3. cd LuaJIT-2.1.0-beta3

  4. make && sudo make install


它会自动将 LuaJIT 安装到 /usr/local/


设置环境变量:


  1. export LUAJIT_LIB=/usr/local/lib

  2. export LUAJIT_INC=/usr/local/include/luajit-2.1/


ngx_devel_kit (0.3.0)


下载并解压 ngx_devel_kit (http://t.cn/REqW9eQ):


  1. wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz

  2. tar -xzvf v0.3.0.tar.gz


ngx_lua (0.10.11rc2)


下载并解压 ngx_lua (http://t.cn/REqWkVx):


  1. wget https://github.com/openresty/lua-nginx-module/archive/v0.10.11rc2.tar.gz

  2. tar -xzvf v0.10.11rc2.tar.gz


删除所有下载的压缩包:


  1. rm ./*.tar.gz


编译安装 Nginx


Nginx (1.12.1)


下载并解压 Nginx (https://nginx.org/en/download.html):


  1. wget https://nginx.org/download/nginx-1.12.1.tar.gz

  2. tar -xzvf nginx-1.12.1.tar.gz


配置与编译


cd nginx-1.12.1.tar.gz
./configure --prefix=/usr/local/nginx \
           --sbin-path=/usr/local/sbin/nginx \
           --pid-path=/usr/local/nginx/logs/nginx.pid \
           --error-log-path=/usr/local/nginx/logs/error.log \
           --http-log-path=/usr/local/nginx/logs/access.log \
           --with-ld-opt=-Wl,-rpath,/usr/local/lib/ \
           --with-http_ssl_module \
           --with-http_stub_status_module \
           --with-pcre=../pcre-8.41 \
           --with-zlib=../zlib-1.2.11 \
           --with-openssl=../openssl-1.0.2l \
           --add-module=../ngx_devel_kit-0.3.0 \
           --add-module=../lua-nginx-module-0.10.11rc2
make
sudo make install



安装 VeryNginx


下载与安装 VeryNginx


git clone https://github.com/alexazhou/VeryNginx.git

cd VeryNginx

python install.py install verynginx


更新 Nginx 配置文件


有两种方式:


  1. 将 VeryNginx 的 nginx.conf 替换 /usr/local/nginx/conf 目录下的文件。

  2. 使用自己的配置文件,方法如下:


  • 在 http 配置块外部,加入:


1. include /opt/verynginx/verynginx/nginx_conf/in_external.conf;


  • 在 http 配置块内部,加入:


1. nclude /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;


  • 在 server 配置块内部,加入:


1.include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;


登录 VeryNginx


访问 http://yourdomain.com/verynginx/index.html 就可以见到 VeryNginx 的控制面板。


默认用户名和密码都是 verynginx,登录后请务必修改。


参考资料


  • How to Compile Nginx From Source on Ubuntu 16.04http://t.cn/REqKhHn

  • VeryNginx - Use own nginx (http://t.cn/REqKYn4)

  • ngx_lua - installationhttps://github.com/openresty/lua-nginx-module#installation

  • Adding ngx_lua to nginxhttp://t.cn/REqCfKj

  • ngx_http_lua_module.c SSL_CTX_sess_set_get_cb incompatible argumenthttp://t.cn/REqCjKO

  • 开始使用 VeryNginx(http://t.cn/RIwU5uy)


往期精彩推介:







招生课程:

  • Python 实战班第 18 期

  • 自动化运维课程第 7 期

  • golang 课程第 3 期

  • 架构师班第 7 期


分享方式:

  • Golang 技术交流群 426582602

  • Python 交流群 365534424 / 238757010


咨询方式:

QQ(1):979950755    小月   

QQ(2):279312229    ada   

WeChat : 1902433859   小月

WeChat : 1251743084   小单



点击【阅读原文】即可跳转

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《手动编译 Nginx 并安装 VeryNginx》的版权归原作者「51reboot运维开发」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注51reboot运维开发微信公众号

51reboot运维开发微信公众号:Reboot51

51reboot运维开发

手机扫描上方二维码即可关注51reboot运维开发微信公众号

51reboot运维开发最新文章

精品公众号随机推荐