Nginx的介紹及安裝過程

頭像是我偶像發表於2017-06-25

1.1  Nginx

1.1.1   什麼是nginx

是一個使用c語言開發的高效能的http伺服器及反向代理伺服器。

Nginx是一款高效能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。由俄羅斯的程式設計師Igor Sysoev所開發,官方測試nginx能夠支支撐5萬併發連結,並且cpu、記憶體等資源消耗卻非常低,執行非常穩定。

 

1.1.2   Nginx的應用場景

1、http伺服器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態伺服器。

2、虛擬主機。可以實現在一臺伺服器虛擬出多個網站。例如個人網站使用的虛擬主機。

3、反向代理,負載均衡。當網站的訪問量達到一定程度後,單臺伺服器不能滿足使用者的請求時,需要用多臺伺服器叢集可以使用nginx做反向代理。並且多臺伺服器可以平均分擔負載,不會因為某臺伺服器負載高當機而某臺伺服器閒置的情況。

 

1.1.3   Nginx的安裝

Nginx一般推薦安裝到linux系統,而且要安裝c語言的編譯環境gcc。

 

1.1.3.1 下載:

進入http://nginx.org/en/download.html下載nginx1.8.0版本(當前最新穩定版本),並從Windos系統傳送到Linux系統下。

 或者直接在Linux下載原始碼:

http://www.chinaesm.com/jinrong/2017/0623/26352.html

 

1.1.3.2 先安裝nginx依賴的包:

nginx是C語言開發,建議在linux上執行,本教程使用Centos6.5作為安裝環境。

* gcc

       安裝nginx需要先將官網下載的原始碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc:yum install gcc-c++

*  PCRE

       PCRE(PerlCompatible Regular Expressions)是一個Perl庫,包括 perl 相容的正規表示式庫。nginx的http模組使用pcre來解析正規表示式,所以需要在linux上安裝pcre庫。

yuminstall -y pcre pcre-devel

注:pcre-devel是使用pcre開發的一個二次開發庫。nginx也需要此庫。

*  zlib

       zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在linux上安裝zlib庫。

yuminstall -y zlib zlib-devel

 

* openssl

       OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。

       nginx不僅支援http協議,還支援https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。

yuminstall -y openssl openssl-devel

 

1.1.3.3 安裝步驟

第一步:把nginx的原始碼上傳到linux系統,或者下載nginx的原始碼

wget http://nginx.org/download/nginx-1.8.0.tar.gz

 

第二步:把壓縮包解壓縮。

tar -zxvf nginx-1.8.0.tar.gz

 

第三步:進行configure。

./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下建立tempnginx目錄

第四步:make

第五步:makeinstall

 

 

Nginx的安裝目錄如下所示:

|- /var/usr/nginx

       |-conf               nginx的配置目錄(可以在nginx.conf裡面配置多個服務)

       |-html               nginx的訪問頁面根目錄(可以建立多個)

       |-sbin                nginx的根目錄,啟動檔案所在目錄

1.1.4   Nginx的啟動、停止

1、啟動:進入nginx的sbin目錄,./nginx就可以啟動。

如果訪問不到,首先檢視防火牆是否關閉。

 

2、關閉nginx:

可以使用kill命令,但是不推薦使用。

推薦使用:./nginx-s stop

 

3、重新整理配置:./nginx -s reload

 

4、測試

nginx安裝成功,啟動nginx,即可訪問虛擬機器上的nginx,可以看到nginx的歡迎頁,到這說明nginx上安裝成功。


1.1.5   Nginx的配置

在/usr/local/nginx/conf目錄下nginx.conf檔案是nginx的配置檔案。

 

1.1.6   使用nginx配置虛擬機器

1.1.6.1 通過埠區分虛擬機器

在nginx.conf檔案中新增一個Service節點,修改埠號就可以

server {

        listen       81;

        server_name  localhost;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {

            root   html81;

            index  index.html index.htm;

        }

   }

 

1.1.6.2 通過域名區分虛擬機器

1.1.6.2.1 域名介紹

 

可以通過修改host檔案指定域名的ip地址。

Host檔案的位置:C:\Windows\System32\drivers\etc

 

1.1.6.2.2 配置基於域名的虛擬主機

需要修改nginx.conf配置檔案。

server {

        listen       80;

        server_name  test2.taotao.com;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {

            root   html-test2;

            index  index.html index.htm;

        }

   }

 

server {

        listen       80;

        server_name  test3.taotao.com;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {

            root   html-test3;

            index  index.html index.htm;

        }

   }

 

 

 

修改配置後需要重新載入配置檔案,即重新啟動nginx。接下來,就可以看到訪問不同的域名就是訪問不同的網站,但都是使用的80埠。

 

相關文章