【原创】把 Nginx 创建为 Windows 的一个服务,关联PHP服务一起启动

参考把 Nginx 创建为 Windows 的一个服务 – Defonds 的专栏 – 博客频道 – CSDN.NET,我做了以下改变:
首先编写setupPhp.bat,作为PHP服务启动关闭的程序,内容如下:
  1. @echo off
  2. if "%1" == "-start" goto start
  3. if "%1" == "-stop"  goto stop
  4. :start
  5. set PHP_FCGI_MAX_REQUESTS=1000
  6. D:/WebSrv/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/WebSrv/php/php.ini
  7. goto end
  8. :stop
  9. taskkill /F /IM php-cgi.exe > nul
  10. goto end
  11. :end
接下来安装Nginx服务,需要编写XML文件。除了更改路径和上文并无不同。
installNginx.xml
  1. <service>
  2.  <id>Nginx</id>
  3.  <name>Nginx</name>
  4.  <description>Nginx是一个高性能的HTTP和反向代理服务器,也是一个邮件服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的。</description>
  5.  <executable>D:\WebSrv\nginx\nginx.exe</executable>
  6.  <logpath>D:\WebSrv\Logs\</logpath>
  7.  <logmode>roll</logmode>
  8.  <depend></depend>
  9.  <startargument>-p D:\WebSrv\nginx</startargument>
  10.  <stopargument>-p D:\WebSrv\nginx -s stop</stopargument>
  11. </service>
接下来按照PHP服务,需要编写XML文件。
installPHP.xml
  1. <service>
  2.  <id>PHP-FPM</id>
  3.  <name>PHP-FPM</name>
  4.  <description>PHP-FPM</description>
  5.  <executable>D:\WebSrv\php\setupPhp.bat</executable>
  6.  <logpath>D:\WebSrv\Logs\</logpath>
  7.  <logmode>roll</logmode>
  8.  <depend>Nginx</depend>
  9.  <startargument>-start</startargument>
  10.  <stopargument>-stop</stopargument>
  11. </service>
重要的点在depend元素。
  1. <depend>Nginx</depend>
这样启动PHP服务后,Nginx也被带着一起启动了。但试过了,如果PHP服务