一、下載windows版的Nginx安裝包,進入類似下圖頁面,選擇合適版本下載。
1.1、下載解壓,如下圖
在C:\Program Files路徑下創建Nginx文件夾,把解壓后的內容復制到 C:\Program Files\Nginx文件下
1.2、啟動nginx
啟動nginx有兩種方式:
- 雙擊啟動
- cmd 命令啟動
1.2.1、雙擊啟動 (不推薦)
直接雙擊 nginx.exe
,雙擊后一個黑色的彈窗一閃而過 。 這樣就是啟動成功了。
1.2.2、cmd命令啟動(推薦)
用 管理員權限 打開cmd,切換到nginx解壓目錄下,輸入命令 start nginx.exe
或者 nginx.exe
,回車后會出現一個黑色的彈窗一閃而過。
C:\Program Files\Nginx>start nginx.exe
1.3、驗證
二 、配置開機啟動
上面的配置nginx后,在電腦關機后再重啟時,nginx 就會停止。
如果想要每次windows 開機后,nginx都處於運行狀態,請看下面的操作配置。
2.1、下載Windows Service Wrapper工具
下載地址:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/
選擇合適版本下載(我選擇1.18),該工具可設置nginx為windows服務。Github源碼地址,下載頁面如下圖;
2.2、配置步驟
1)下載后把下載的 winsw-1.14-bin.exe 文件放在Nginx安裝目錄(C:\Program Files\Nginx),修改名稱為nginx-service.exe。
2)在nginx-service.exe 同目錄中,新建一個空折 nginx-service.xml 文件(名字要與nginx-service.exe
名字前綴保持一致,但后綴是xml)
nginx-service.xml內容如下:
<service> <id>nginx</id> <name>Nginx Service</name> <description>High Performance Nginx Service</description> <logpath>C:\Program Files\Nginx\logs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>C:\Program Files\Nginx\nginx.exe</executable> <startarguments>-p C:\Program Files\Nginx</startarguments> <stopexecutable>C:\Program Files\Nginx\nginx.exe</stopexecutable> <stoparguments>-p C:\Program Files\Nginx -s stop</stoparguments> </service>
我的nginx 所在的目錄是 C:\Program Files\Nginx ,如果你的安裝目錄與我的不相同,要修改 <logpath>
、 <executable>
、 <startarguments>、<stopexecutable>
<stoparguments> 這4處對應的值。
2.3.安裝nginx服務
點擊"開始"--"運行",輸入"cmd"后點擊確定按鈕,進入DOS窗口,接下來分別運行以下命令:
cd C:\Program Files\Nginx
nginx-service.exe install
點擊"開始"--"運行",輸入"services.msc"后點擊確定按鈕,打開服務窗口。
此時查看windows服務目錄有Niginx Service服務,然后右鍵啟動。
三、nginx常用的基本命令
start nginx.exe ## 啟動服務 nginx.exe -s stop ## 快速停止服務 nginx.exe -s quit ## 優雅的 停止服務 nginx.exe -s reload ## 重新加載 配置文件,這命令可以不用停止nginx nginx.exe -s reopen ## 重新打開日志文件
四、常見問題處理以及注意事項
Niginx Service服務無法啟動
原因是默認80端口被占用,在C:\Program Files\Nginx\conf目錄下修改nginx.conf配置文件,修改為其他端口號;
如下圖
windows檢查80端口是否被占用:
點擊"開始"--"運行",輸入"cmd"后點擊確定按鈕,進入DOS窗口,接下來分別運行以下命令:
netstat -aon | findstr "80"
若是出現如下,可以看出80端口被進程號為1688的程序占用。
若遇到其他問題可在C:\Program Files\Nginx\logs下查看錯誤日志,然后根據錯誤日志查找解決方案。Proto Local Address Foreign Address State PID ==== ============ ============== ========== ====== TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1688
注意:每次修改完nginx.conf文件,需重新啟動Niginx Service服務,方可生效。