標籤:work local worker 第一個 div www get images 沒有
內容列表:
一、簡要介紹
Nginx ("engine x") 是一個高效能的 HTTP 和 反向 Proxy 伺服器,也是一個 IMAP/POP3/SMTP Proxy 伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 網站開發的,第一個公開版本0.1.0發佈於2004年10月4日。其將原始碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、樣本設定檔和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發布。
Nginx作為負載平衡伺服器:Nginx 既可以在內部直接支援 Rails 和 PHP 程式對外進行服務,也可以支援作為 HTTPProxy 伺服器對外進行服務。Nginx採用C進行編寫,不論是系統資源開銷還是CPU使用效率都比 Perlbal 要好很多。
作為郵件Proxy 伺服器:Nginx 同時也是一個非常優秀的郵件Proxy 伺服器(最早開發這個產品的目的之一也是作為郵件Proxy 伺服器),Last. fm 描述了成功並且美妙的使用經驗。
Nginx 是一個安裝非常的簡單,設定檔非常簡潔(還能夠支援perl文法),Bugs非常少的伺服器:Nginx 啟動特別容易,並且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動。你還能夠不間斷服務的情況下進行軟體版本的升級。
(更多介紹參照百科,更多使用參照GOOGLE,廣而告之)
二、下載安裝
我們使用nginx 1.0.4 for windows版本,下載解壓後放到C:\nginx-1.0.4(官網這樣要求的,不知道放其它盤有沒有問題)
運行cmd.exe到
有錯誤啊,也不知道啟動成功沒有,去看看日誌吧。
logs裡有出現了兩個記錄檔access.log,error.log, 開啟error.log開到下面提示
2011/06/16 15:23:55 [emerg] 7136#4040: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
2011/06/16 15:24:14 [emerg] 6336#7052: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
去nginx官網搜了一下原因:
View Code
3個原因:
1.防火牆開啟了(確實我的WIN7 windows Firewall開啟了,但是關了後還是不能啟動nginx)
2.80連接埠被佔用了(確實有個預設的網站用的80連接埠,關閉了後再啟動nginx正常了,80後為Nginx預設的配置)
怎麼看出來的正常的,看一下logs下面是不是多了一個nginx.pid檔案,cmd視窗了輸入
C:\nginx-1.0.4>tasklist /fi "imagename eq nginx.exe"
結果如下:
這時說明已經啟成功了,有兩個進程。按照官方的解釋,nginx是守護進程,其中一個是一直處理事件等待中,當有事件被觸發時,就啟動另外一個進程處理相關請求。
訪問成功後可以logs下的access.log看到訪問網站的request資訊
View Code
如果沒有成功可以再查看logs下的error.log原因,以下為其它操作命令
nginx -s stop |
quick exit |
nginx -s quit |
graceful quit |
nginx -s reload |
changing configuration, starting a new worker, quitting an old worker gracefully |
nginx -s reopen |
reopening log files |
官網提供了詳細的windows usage 安裝說明,網上大部分寫的都很亂。我第一次參照網上其它人沒成功過-_-|||,發現官網有安裝說明照著操作一遍成功了,所以建議大家以後多看官網說明以及源碼,可以少走很多彎路。
三、配置測試
第二環節我們使用了預設的nginx.conf 。Nginx的設定檔都存於目錄conf檔案下,其中nginx.conf是它的主設定檔。
以下為我加上注釋並配置的新的虛擬server
View Code
#號為注釋內容,我們在cmd下運行nginx
啟動成功,出錯的話,可以查詢日誌(日誌路徑是設定檔指定的,你可以修改存到其它位置)
訪問一下第二個server 配置的localhost:8666地址,結果:
Nginx官網conf的配置沒有提供太多的文檔,相學習更多的配置,例如緩衝,負載平衡等等,可以參照Nginx中文網。
Nginx windows下搭建過程