內容列表: 簡要介紹 下載安裝 配置測試
一、簡要介紹
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.7.2版本,下載解壓後放到C:\nginx-1.7.2題)
運行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預設的配置。需要修改nginx-1.7.2\conf目錄下的nginx.conf。將裡面的
server {
listen 80;//改為其他數字就可以了
怎麼看出來的正常的,看一下logs下面是不是多了一個nginx.pid檔案,cmd視窗了輸入
C:\nginx-1.0.4>tasklist /fi "imagename eq nginx.exe"
結果如下:
這時說明已經啟成功了,有兩個進程。按照官方的解釋,nginx是守護進程,其中一個是一直處理事件等待中,當有事件被觸發時,就啟動另外一個進程處理相關請求。
開啟瀏覽器,輸入http://127.0.0.1/。如果上面你連接埠號碼改動過了,假設為3000,那這裡輸入http://127.0.0.1:3000/
訪問成功後可以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 |
三、配置測試
我們在cmd下運行nginx
啟動成功,出錯的話,可以查詢日誌(日誌路徑是設定檔指定的,你可以修改存到其它位置)
關閉所有Nginx所有進程: taskkill /im /f QQ.exe。 這個命令很好用,下面兩個命令有時候無法關閉nginx。
關閉Nginx進程: nginx -s stop / nginx -s quit
載入指定設定檔
C:\server\nginx-1.7.2>start nginx.exe -c conf/default.conf