nginx windows usage(翻譯)
英文地址:http://nginx.org/en/docs/windows.html
譯者部落格:http://blog.csdn.net/kimsoft
2010/12/23
nginx/Windows版使用原生Win32API(非Cygwin類比層)。目前只有select方法被用作通知方法,因此你不應對其高效能和可擴充性要求太高。正因為如此和一些已知的問題,nginx/Windows版被認為是beta版。和Unix版相比,除了XSLT過濾器,圖片過濾器,GeoIP模組和內建的Perl語言之外,擁有幾乎全部的功能。
要安裝nginx/Windows版,你應該下載最新的0.9.3開發版壓縮包,由於這個開發分支包含了所有已經知問題的修複,特別是和Windows相關的問題。解壓縮這個檔案,轉到nginx-0.9.3目錄,運行nginx。對於C盤作為根目錄,這兒有個例子:
cd c:/
unzipnginx-0.9.3.zip
cdnginx-0.9.3
start nginx
你可以運行“tasklist”命令列工具來查看nginx進程:
C:/nginx-0.9.3>tasklist /fi "imagename eq nginx.exe"
Image Name PID Session Name Session# Mem Usage
=============== ======== ============== ==========
nginx.exe 652 Console 0 2 780 K
nginx.exe 1332 Console 0 3 112 K
其中一個進程是主進程,另外一個是背景工作處理序。如果nginx沒有啟動,你應該查看“logs/error.log”來尋找原因。如果這個記錄檔沒有被建立,錯誤原因應該已經在Windows
事件記錄中被報告。如果你看到一個錯誤頁面而不是期望的頁面,你也應該要到“logs/error.log”檔案中尋找錯誤原因。
nginx/Windows版在配置中使用被啟動並執行首碼目錄作為相對目錄,在上面的例子中,首碼目錄是“C:/nginx-0.9.3/”。設定檔中的路徑應該被設定成使用斜杠的Unix樣式:
access_log
logs/site.log;
root C:/web/html;
nginx/Windows版作為一個標準的控制台程式運行,而不是服務,可以使用下列的命令管理:
nginx -s stop
快速退出
nginx -squit
優雅退出
nginx -sreload 改變更配置置,啟動一個新的背景工作處理序,優雅退出老的進程
nginx -sreopen 重新開啟記錄檔
已知的問題
l 儘管可以運行多個背景工作處理序,但只有一個真正起作用。
l 一個背景工作處理序處理不超過1024個並發串連。
l 緩衝和其它需要共用記憶體支援的模組在Windows Vista及其以後的版本中不起作用,因為在這些Windows版本中的地址空間布局隨機被啟用。
以後可能的增強
l 作為服務運行。
l 使用I/O完成連接埠作為通知方法。
l 使用多背景工作執行緒取代單背景工作處理序。
譯者補充:
在nginx在Unix Like的系統中優勢很大,建議生產環境部署在Unix Like系統上
在Windows下劣勢,上文已經描述,此處總結:
n select模型效率不高(Linux下可用epoll等高效模型)
n 1個背景工作處理序的限制,Unix Like系統中可啟用多個
n 並發串連限制在1024
以下
n 緩衝和共用記憶體的問題
n 缺失的模組和功能(譯文第一段,XSLT過濾器,圖片過濾器,GeoIP模組和內建的Perl語言)
n 不能作為服務運行(網上已經有解決辦法,但還是不方便)
n 日誌分割(UnixLike系統中的logrotate很容易解決),Windows下可以下方法:
u 寫個批處理,網上已有,但要停止nginx,用計劃任務運行
u 批處理不好寫,可用python寫個小指令碼,用計劃任務運行
u 配置access_logoff關掉日誌
Windows命令列使用參考:
nginx:nginx version: nginx/0.9.3
nginx:Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h
:this help(注意和普通的dos命令協助的/?是不一樣的,Unix風格)
-v
:show version and exit
-V
:show version and configure options then exit
-t
:test configuration and exit(測試組態檔案,好用)
-q
:suppress non-error messages during configuration testing
-s signal
:send signal to a master process: stop, quit, reopen, reload(上面譯文已述)
-p prefix
:set prefix path (default: NONE)
-c filename
:set configuration file (default: conf/nginx.conf)(改變更配置置檔案,感覺用處不大)
-g directives
: set global directives out of configuration file
nginx相關資源:
官方網站: http://nginx.org/
中文Wiki:
http://wiki.nginx.org/Chs
張晏的blog:
http://blog.s135.com/post/366/
文檔:http://download.csdn.net/source/2933573
電信直接下載:http://dl5.csdn.net/fd.php?i=784829335739562&s=f206d056ba5cef299ce41f0cb94938f6
網通直接下載:http://dl5.csdn.net/fd.php?i=566429335739788&s=7c96dfd6c5f559f1bb12a162c9d6ac69