1 什麼是Nginx Nginx ("engine x") 是一個高性能的 HTTP和反向代理伺服器,也是一個 IMAP/POP3/SMTP 伺服器。 <!--polaris office 7540 --> 很多大網站都是使用nginx做反向代理,應用非常廣泛。 Nginx是一款高性能的http 服 ...
1 什麼是Nginx
Nginx ("engine x") 是一個高性能的 HTTP和反向代理伺服器,也是一個 IMAP/POP3/SMTP 伺服器。
很多大網站都是使用nginx做反向代理,應用非常廣泛。
Nginx是一款高性能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。由俄羅斯的程式設計師Igor Sysoev所開發,官方測試nginx能夠支支撐5萬併發鏈接,並且cpu、記憶體等資源消耗卻非常低,運行非常穩定。
2 應用場景
1、http伺服器,可以做靜態網頁的http伺服器。
2、配置虛擬機。
一個功能變數名稱可以被多個ip綁定。可以根據功能變數名稱的不同吧請求轉發給運行在不同埠的伺服器。
3、反向代理,負載均衡。把請求轉發給不同的伺服器。
3 安裝及配置
3.1 下載
官方網站:http://nginx.org/
最後的一個穩定版本:1.8.0版本。有兩個版本windows版本和linux版本。生產環境都是使用linux版本。
3.2 安裝
3.2.1 環境要求
nginx是C語言開發,建議在linux上運行,本教程使用Centos6.4作為安裝環境。
n gcc
安裝nginx需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc:yum install gcc-c++
n PCRE
PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。
yum install -y pcre pcre-devel
註:pcre-devel是使用pcre開發的一個二次開發庫。nginx也需要此庫。
n zlib
zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在linux上安裝zlib庫。
yum install -y zlib zlib-devel
n openssl
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。
nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。
yum install -y openssl openssl-devel
3.2.2 編譯及安裝
第一步:把nginx的源碼包上傳至linux伺服器
第二步:解壓源碼包。 tar -zxf nginx-1.8.0.tar.gz
第三步:進入nginx-1.8.0文件夾。使用configure命令創建makefile。
第四步:參數設置如下:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
註意:上邊將臨時文件目錄指定為/var/temp/nginx,需要在/var下創建temp及nginx目錄
第五步:make
第六步 make install
3.3 Nginx的啟動及關閉
3.3.1 啟動
在nginx目錄下有一個sbin目錄,sbin目錄下有一個nginx可執行程式。
./nginx
3.3.2 關閉nginx
關閉命令:相當於找到nginx進程kill。
./nginx -s stop
退出命令:
./nginx -s quit
等程式執行完畢後關閉,建議使用此命令。
3.3.3 動態載入配置文件
./nginx -s reload
可以不關閉nginx的情況下更新配置文件。