Windows 安裝 Nginx + PHP 並掛載為 Windows 服務

Jerry Chen
5 min readJul 6, 2021

--

在 Windows 環境上安裝 Nginx + PHP 為了日後方便啟動與停用所以要掛載為 Windows 服務,掛載 Windows 服務需要另外下載 WinSW-x64.exe (For Nginx & PHP) 以及 xxfpm.exe (For PHP)。

主機環境
Windows Server 2019 Datacenter

安裝目標
1. Nginx 1.21.0 (下載連結)
2. PHP 7.1.3 (下載連結)

掛載 Windows 服務工具
1. WinSW-x64.exe (下載連結)
2. xxfpm.exe (下載連結)

安裝流程
1. nginx-1.21.0.zip 解壓縮至 D:/Nginx
2. php-7.1.3-Win32-VC14-x64.zip 解壓縮至 D:/PHP/7.1.3
3. 複製 D:/PHP/7.1.3/php.ini-production 為 php.ini
4. WinSW-x64.exe 更名為 nginx-service.exe 移動至 D:/Nginx
5. 再複製一個 WinSW-x64.exe 更名為 php-cgi-service.exe 移動至 D:/Nginx
6. xxfpm 資料夾移動至 D:/Nginx
7. 建立 nginx-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<service>
<id>Nginx</id>
<name>Nginx</name>
<description>Nginx</description>
<executable>D:\Nginx\nginx.exe</executable>
<startargument>-p</startargument>
<startargument>D:\Nginx\</startargument>
<stopexecutable>taskkill</stopexecutable>
<stopargument>/f</stopargument>
<stopargument>/im</stopargument>
<stopargument>nginx.exe</stopargument>
<logpath>D:\Nginx\logs\</logpath>
<logmode>roll</logmode>
</service>

8. 建立 php-cgi-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<service>
<id>PHP-CGI</id>
<name>PHP-CGI</name>
<description>PHP-CGI</description>
<executable>D:\Nginx\xxfpm\bin\xxfpm.exe</executable>
<startargument>D:\PHP\7.1.3\php-cgi.exe -c D:\PHP\7.1.3\php.ini</startargument>
<startargument>-n</startargument>
<startargument>5</startargument>
<startargument>-i</startargument>
<startargument>127.0.0.1</startargument>
<startargument>-p</startargument>
<startargument>9000</startargument>
<stopexecutable>taskkill</stopexecutable>
<stopargument>/f</stopargument>
<stopargument>/im</stopargument>
<stopargument>xxfpm.exe</stopargument>
<logpath>D:\Nginx\logs\</logpath>
<logmode>roll</logmode>
</service>

9. 使用系統管理員開啟 cmd (命令提示字元)
10. 輸入 D: 切換目錄至 D 槽
11. 輸入 cd Nginx 切換至 Nginx 資料夾
12. 掛載 Nginx 服務 nginx-service.exe install
13. 掛載 PHP-CGI 服務 php-cgi-service.exe install
14. 可以到服務檢查是否掛載成功

備註
1. 解除掛載 Nginx 服務 nginx-service.exe uninstall
2. 解除掛載 PHP-CGI 服務 php-cgi-service.exe uninstall
3. 過程中可能會出現 port 占用的情況,可以透過 cmd 執行 netstat -ano | find: <port> 或者 taskkill /f /im xxfpm.exe 直接終止服務

--

--

Jerry Chen
Jerry Chen

No responses yet