CentOS5.5下Nginx的安裝配置詳解

CentOS5.5下Nginx的安裝配置詳解

一、Nginx簡介

Nginx是俄羅斯人Igor Sysoev開發的一個高性能的HTTP和反向代理服務器。Nginx能夠選擇高效的epoll、kqueue、eventport作爲網絡I/O模型,在高併發的情況下,Nginx是Apache的不錯替代品,它能夠支持高達50000個併發連接數,而內存和CPU的佔用卻非常的低,運行非常穩定。

      Nginx已經在俄羅斯的最大的門戶網站——Rambler Media上運行了3年時間,同時俄羅斯有20%的虛擬主機都是用Nginx作爲反響代理服務器。

    在國內,已經有新浪博客,網易新聞、六房間等使用Nginx作爲Web服務器或者反向代理服務器。

二、Nginx發展

    2009年1月,對185497213個網站進行了抽樣調查,發現出去google自己開發的僅供自己使用的GWS和GFE服務器玩,排在前兩位的分辨是Apache、Microsoft IIS,而Nginx已經超過了Lighttpd,位居第三了,詳見下表:

wKiom1O1UF3y40o6AAFxigoSZZw688.jpg

二、Nginx優點

    (1)Nginx 可以在大多數 Unix like OS 上編譯運行,並有 Windows 移植版。 Nginx 的1.2.6穩定版已經於2012年12月11日發佈,[1]1.3.10開發版已經於2012年12月25日發佈,如果新建站點,建議使用最新穩定版作爲生產版本,已有站點升級急迫性不高。Nginx 的源代碼使用 2-clause BSD-like license。

    (2)Nginx 是一個很強大的高性能Web和反向代理服務器,它具有很多非常優越的特性:在高連接併發的情況下,Nginx是Apache服務器不錯的替代品:Nginx在美國是做虛擬主機生意的老闆們經常選擇的軟件平臺之一。能夠支持高達 50,000 個併發連接數的響應,感謝Nginx爲我們選擇了 epoll and kqueue作爲開發模型。

    (3)Nginx作爲負載均衡服務器:Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作爲 HTTP代理服務器對外進行服務。Nginx採用C進行編寫,不論是系統資源開銷還是CPU使用效率都比 Perlbal 要好很多。作爲郵件代理服務器:Nginx 同時也是一個非常優秀的郵件代理服務器(最早開發這個產品的目的之一也是作爲郵件代理服務器),Last. fm 描述了成功並且美妙的使用經驗。

    (4)Nginx 是一個安裝非常的簡單,配置文件非常簡潔(還能夠支持perl語法),Bugs非常少的服務器:Nginx 啓動特別容易,並且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啓動。你還能夠不間斷服務的情況下進行軟件版本的升級。

三、Nginx安裝

     Nginx的官方網站是http://nginx.org/cn/,從這裏可以獲得Nginx的最新版本信息。Nginx有三個版本:穩定版、開發版和歷史穩定版。通常建議使用穩定版。具體步驟如下:

(1)安裝依賴軟件pcre-devel和libevent

[root@bogon nginx]# yum install pcre-devel  libevent  openssl

(2)安裝配置nginx

[root@bogon nginx]# tar -zxvf nginx-1.6.0.tar.gz -C /usr/local/src/

[root@bogon nginx]# cd /usr/local/src/nginx-1.6.0/

[root@bogon nginx-1.6.0]# ./configure  --conf-path=/etc/nginx/nginx.conf  --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/var/run/nginx/nginx.pid  --lock-path=/var/lock/nginx.lock  --user=nginx  --group=nginx  --with-http_ssl_module  --with-http_flv_module  --with-http_stub_status_module  --with-http_gzip_static_module  --http-client-body-temp-path=/var/tmp/nginx/client/  --http-proxy-temp-path=/var/tmp/nginx/proxy/  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/  --with-pcre   

[root@bogon nginx-1.6.0]# make && make install

(3)爲了能夠啓動服務因此要把控制腳本放到搜索路徑去,因此要編輯/etc/profile文件

[root@bogon nginx]# vim /etc/profile

加上PATH=$PATH:/usr/local/nginx/sbin

wKioL1O1Uk2wc3MKAAC2qUmPdA8068.jpg

[root@bogon nginx]# . /etc/profile

//測試有沒有語法錯誤

[root@bogon ~]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: [emerg] getpwnam("nginx") failed

nginx: configuration file /etc/nginx/nginx.conf test failed

從上面看出現錯誤,原因是沒有創建用戶和組

//創建用戶和組

[root@bogon ~]# groupadd -r nginx

[root@bogon ~]# useradd -r -g nginx nginx

//由於編譯過程中指明瞭/var/tmp/nginx/client/目錄和/var/tmp/nginx/proxy/目錄,因此要創建這兩個目錄。

[root@bogon ~]# mkdir -pv /var/tmp/nginx/client

[root@bogon ~]# mkdir -pv /var/tmp/nginx/proxy 

//啓動nginx服務,並查看端口

[root@bogon ~]# nginx

[root@bogon ~]# netstat -tupln |grep nginx

tcp    0  0 0.0.0.0:80   0.0.0.0:*   LISTEN   10868/nginx   

出現以上信息表明nginx已經啓動

在瀏覽器中輸入192.168.186.132,如果出現nginx歡迎界面(如下),安裝成功:

wKiom1O1U8Lg1FKNAAGNf9Gw6kk143.jpg

四、Nginx配置

1、基於IP訪問站點

(1)基於IP地址的虛擬主機

 實例要求:

192.168.186.132  /usr/local/nginx/html  

192.168.186.133   /usr/local/nginx/tec

 直接編輯/etc/nginx/nginx.conf文件,編輯結果如下:

wKiom1O1VSTgp3ElAAC6JdVO7ys641.jpg

wKiom1O1ZIeyNv8JAACp2heDIBs807.jpg

[root@bogon nginx]# ifconfig eth0:0 192.168.2.101

[root@bogon nginx]# mkdir /usr/local/nginx/tec

[root@bogon nginx]# echo "hello.this is tec websit.welcome to my pagehome" > index.html

 分別在瀏覽器中輸入192.168.186.132和192.168.186.133,打開不同的網頁成功。

  

 基於端口的虛擬主機

 要求:

192.168.186.132    /usr/local/nginx/html  800

192.168.186.133    /usr/local/nginx/tec   80

 編輯配置文件

[root@bogon tec]# ifconfig eth0:0 down

[root@bogon tec]# vim /etc/nginx/nginx.conf

wKiom1O1YUzQYsVZAACum4xF3AQ162.jpg

關閉nginx,然後重新啓動

[root@bogon tec]# pkill -9 nginx

[root@bogon tec]# nginx

輸入192.168.186.132和192.168.186.132:800,測試結果。

    wKioL1O1ZSbS5pTkAAFm3bTjnKU047.jpg

    wKiom1O1Y1uwV_pwAADVtPrlaZo827.jpg

測試成功。

有關Nginx的其他的配置學習會在今後的博客中不斷更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章