Nginx好像並不能像tomcat在windows下注冊系統服務,然后查閱官方文檔才知道當前windows版本的Nginx只是作為一個標准程序運行,而不是一個系統服務, 如果不注冊成系統服務,服務器重啟(斷電、自動更新 etc.)就需要自己手動重啟,不然網站、系統均無法訪問。想想挺可怕,然后就開始各種谷歌百度找辦法解決,過了不知道多久搜索發現可以通過winsw把Nginx注冊成一個系統服務。
1.下載 Windows Service Wrapper
在項目主頁內找到winsw的下載頁面(我用的是2.0.2版本,下面第一個連接,附上其他鏈接)
http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.0.2/
github地址:https://github.com/kohsuke/winsw/releases
下載地址:https://github.com/kohsuke/winsw/releases
下載地址:https://github.com/winsw/winsw
下載地址:https://github.com/winsw/winsw/releases
下載的文件:winsw-2.0.2-bin.exe
2. 在nginx項目頁面下載nginx windows版本
http://nginx.org
把nginx壓縮包解壓放到指定目錄,例如我放的是d盤根目錄。特別強調路徑不要帶空格的,否則會啟動失敗。
nginx安裝目錄是:F:\nginx+tomcat\nginx-1.16.1_alter
3. 將winsw-2.0.2-bin.exe復制到nginx目錄:F:\nginx+tomcat\nginx-1.16.1_alter,並將其改成nginx-service.exe
4. 新建一個xml文件nginx-service.xml,名稱一定要與上面的.exe上的文件名一致的哦。文件內容如下(親測有效):
<service> <id>nginx</id> <name>nginx</name> <description>nginx-server</description> <logpath>F:\nginx+tomcat\nginx-1.16.1_alter\logs</logpath> <logmode>roll</logmode> <executable>F:\nginx+tomcat\nginx-1.16.1_alter\nginx.exe</executable> </service>
5. 運行Windows cmd命令,進入nginx目錄:運行nginx-service.exe install將其注冊為windws系統服務。當配置錯誤(就是系統服務中有了但是啟動不了)或者是要卸載它的時候運行:nginx-service.exe uninstall
在運行Windows cmd命令,輸入services.msc,就可以在系統服務中看到nginx服務,右擊啟動就可以了,訪問http://localhost:8088出現nginx頁面,安裝成功。