VeryNginx 是個非常有意思且便捷的 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:
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar -xzvf pcre-8.41.tar.gz
zlib (1.2.11)
下載並解壓 zlib:
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -xzvf zlib-1.2.11.tar.gz
OpenSSL (1.0.2l)
下載並解壓 OpenSSL:
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:
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:
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:
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:
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
配置塊外部,加入:include /opt/verynginx/verynginx/nginx_conf/in_external.conf;
- 在
http
配置塊內部,加入:nclude /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;
- 在
server
配置塊內部,加入:include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;
登錄 VeryNginx
訪問 http://yourdomain.com/verynginx/index.html
就可以見到 VeryNginx 的控制面板。
默認用戶名和密碼都是 verynginx,登錄后請務必修改。