標籤:style http io ar os 使用 sp on 檔案
nginx的Windows版本使用原生Win32 API(非Cygwin類比層)。當前nginx/Windows只使用select作為通知方法,所以不要期待它有很高的效能和擴充性。鑒於這點和一些已知問題,nginx/Windows目前還處於beta階段。nginx/Windows和Unix版本相比,功能幾乎已經齊全,除了XSLT過濾器、映像過濾器、GeoIP模組和嵌入Perl語言支援以外。
安裝nginx/Windows,需要下載最新的1.7.6開發版本,因為開發分支上包含了所有已知的問題修複,尤其是針對Windows版本的問題修複。解壓縮下載得到的zip檔案,進入nginx-1.7.6目錄,運行nginx。下面給出一個在C盤根目錄下安裝的例子:
cd c:unzip nginx-1.7.6.zipcd nginx-1.7.6start nginx
可以在命令列運行tasklist命令來查看nginx進程:
C:\nginx-1.7.6>tasklist /fi "imagename eq nginx.exe"Image Name PID Session Name Session# Mem Usage=============== ======== ============== ========== ============nginx.exe 652 Console 0 2 780 Knginx.exe 1332 Console 0 3 112 K
其中一個是主進程,另一個是背景工作處理序。如果nginx沒有啟動,請查看logs\error.log檔案以尋找失敗原因。如果記錄檔不存在,那失敗原因會記錄在Windows事件記錄中。如果某次請求沒有展示預想的頁面,而是展示了錯誤頁面,也請查看logs\error.log檔案。
nginx/Windows使用工作目錄作為首碼將設定檔中設定的相對目錄補齊。就上面安裝的例子而言,工作目錄應該是C:\nginx-1.7.6\(工作目錄基本上與運行檔案所在的目錄相同)。設定檔中的目錄請使用“/”,而不是“\”做目錄分隔:
access_log logs/site.log;root C:/web/html;
nginx/Windows作為標準控制台應用運行,而不是系統服務。可以用下面的命令控制:
| nginx -s stop |
快速退出 |
| nginx -s quit |
優雅退出 |
| nginx -s reload |
更換配置,啟動新的背景工作處理序,優雅的關閉以往的背景工作處理序 |
| nginx -s reopen |
重新開啟記錄檔 |
已知問題
- 雖然可以啟動若干背景工作處理序運行,實際上只有一個進程在處理請求所有請求。
- 一個背景工作處理序只能處理不超過1024個並發串連。
- 緩衝和其他需要共用記憶體支援的模組在Windows Vista及後續版本的作業系統中無法工作,因為在這些作業系統中,地址空間的布局是隨機的。
日後可能加強的功能
- 作為系統服務運行。
- 使用“I/O完成連接埠”作為事件模型。
- 使用單背景工作處理序多線程的模型。
nginx Windows版使用說明