转载|出处:http://t.cn/REqexGh
VeryNginx (http://t.cn/RbFKg88) 是个非常有意思且便捷的 Nginx 扩展程序。最近新开了台 VPS,便想体验一下它带来的快感。
VeryNginx 有个不超过 5 行的安装方法,作者强迫症更喜欢使用自己编译的 Nginx。
基础依赖
PCRE (一个正则表达式库,nginx 伪静态可以用到)
OpenSSL(https 连接需要)
zlib(开启 gzip 需要,一个提供数据压缩用的函式库)
首先进入 /usr/local/src 目录:
cd /usr/local/src
编译器安装
apt-get install build-essential libtool
PCRE (8.41)
下载并解压 PCRE (http://t.cn/REqpFk4):
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar -xzvf pcre-8.41.tar.gz
zlib (1.2.11)
下载并解压 zlib (http://www.zlib.net/):
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -xzvf zlib-1.2.11.tar.gz
OpenSSL (1.0.2l)
下载并解压 OpenSSL (http://t.cn/8soo9pe):
lua-nginx-module 不支持 1.1.0
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar -xzvf openssl-1.0.2l.tar.gz
ngx_lua 依赖
VeryNginx 使用到了以下模块,自己编译 Nginx 时,需要包含以下模块
才能正常使用。
http_ssl_module
http_stub_status_module
lua-nginx-module
ngx_lua 即为 lua-nginx-module
http_stub_status_module 和 http_ssl_module 只需要在 ./configure
时加上两行即可。lua-nginx-module 稍微麻烦一点,它需要以下依赖:
LuaJIT 2.0 或 LuaJIT 2.1(推荐)或 Lua 5.1(5.2 目前不支持)
ngx_devel_kit(NDK)
ngx_lua
同样进入 /usr/local/src 目录:
cd /usr/local/src
LuaJIT (2.1.0-beta3)
下载并安装 LuaJIT (http://luajit.org/download.html):
wget http://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz
tar -xzvf LuaJIT-2.1.0-beta3.tar.gz
cd LuaJIT-2.1.0-beta3
make && sudo make install
它会自动将 LuaJIT 安装到 /usr/local/
设置环境变量:
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.1/
ngx_devel_kit (0.3.0)
下载并解压 ngx_devel_kit (http://t.cn/REqW9eQ):
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
tar -xzvf v0.3.0.tar.gz
ngx_lua (0.10.11rc2)
下载并解压 ngx_lua (http://t.cn/REqWkVx):
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.11rc2.tar.gz
tar -xzvf v0.10.11rc2.tar.gz
删除所有下载的压缩包:
rm ./*.tar.gz
编译安装 Nginx
Nginx (1.12.1)
下载并解压 Nginx (https://nginx.org/en/download.html):
wget https://nginx.org/download/nginx-1.12.1.tar.gz
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 配置文件
有两种方式:
将 VeryNginx 的 nginx.conf 替换 /usr/local/nginx/conf 目录下的文件。
使用自己的配置文件,方法如下:
在 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.04(http://t.cn/REqKhHn)
VeryNginx - Use own nginx (http://t.cn/REqKYn4)
ngx_lua - installation(https://github.com/openresty/lua-nginx-module#installation)
Adding ngx_lua to nginx(http://t.cn/REqCfKj)
ngx_http_lua_module.c SSL_CTX_sess_set_get_cb incompatible argument(http://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运维开发微信公众号:Reboot51
手机扫描上方二维码即可关注51reboot运维开发微信公众号