手動編譯 Nginx 並安裝 VeryNginx


VeryNginx 是個非常有意思且便捷的 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

  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

  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

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 時,需要包含以下模塊才能正常使用。

  • 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 目錄:

  1. cd /usr/local/src

LuaJIT (2.1.0-beta3)

下載並安裝 LuaJIT

  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

  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

  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

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

配置與編譯

  1. cd nginx-1.12.1.tar.gz
  2. ./configure --prefix=/usr/local/nginx \
  3. --sbin-path=/usr/local/sbin/nginx \
  4. --pid-path=/usr/local/nginx/logs/nginx.pid \
  5. --error-log-path=/usr/local/nginx/logs/error.log \
  6. --http-log-path=/usr/local/nginx/logs/access.log \
  7. --with-ld-opt=-Wl,-rpath,/usr/local/lib/ \
  8. --with-http_ssl_module \
  9. --with-http_stub_status_module \
  10. --with-pcre=../pcre-8.41 \
  11. --with-zlib=../zlib-1.2.11 \
  12. --with-openssl=../openssl-1.0.2l \
  13. --add-module=../ngx_devel_kit-0.3.0 \
  14. --add-module=../lua-nginx-module-0.10.11rc2
  15. make
  16. sudo make install

安裝 VeryNginx

下載與安裝 VeryNginx

  1. git clone https://github.com/alexazhou/VeryNginx.git
  2. cd VeryNginx
  3. 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,登錄后請務必修改。

參考資料

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM