在上文中,咱们使用了nginx + php-cgi
来配置thinkphp
的运行环境,项目已成功运行,能够很开心的开发php
项目了。php
可是也并非高枕无忧了,此时的项目环境存在着如下几个问题:nginx
php-cgi
中止运行;这对不管是开发中的,仍是上线运行中的项目,都是一个阻碍,必需要克服;php.ini
修改没法平滑重启,每次修改php
配置,都得重启php-cgi
;若是把nginx
和 php-cgi
注册为windows
系统服务,设置开机启动;这样nginx
和php-cgi
便能做为系统服务,持续运行,而且在开机时就能随系统一块儿启动;而后在windows
任务管理器中就能对nginx
服务和php-cgi
服务进行管理。git
把nginx
和 php-cgi
注册为windows
系统服务须要WinSW
和xxfpm
的支持;因此,咱们首先要来下载这两个程序,下载地址以下:github
下载选择的时候根据本身的操做系统,选择对应的安装包便可;对于xxfpm
,直接下载就好,由于只有windows
版;thinkphp
对于WinSW
,针对不一样的.net
版本,提供了不一样的安装包,这里选择.NET4
版本的就好;编程
而后,把下载好的文件解压,以待下一步使用。windows
WinSW
是一个可用于包装和管理做为Windows
服务的自定义进程的工具,能够对windows
中的服务程序进行管理(注册、卸载、启动、中止、重启等操做),其本质上就是一个可执行的二进制文件,运行于windows
系统下。服务器
WinSW
对系统服务的管理功能和在windows任务管理器中的操做是同样的;从2.x
开始WinSW
托管于github
平台;在下载完成解压后,其可执行的操做命令以下所示:工具
Windows
服务控制器中;Windows
服务控制器中卸载服务;命令的运行格式spa
命令须要在WinSW.exe
所在的目录下才能执行,因为WinSW
初始的名称是WinSW.exe
,因此要在命令前加上进程名称,好比:安装服务的完整命令就是:winsw install
;(后缀.exe
是能够省略的)
支持修更名称
WinSW.exe
支持修更名称,好比在nginx
中,其名称可修改成:nginx-service.exe;
在php
中,名称则可修改成php-cgi-service.exe
;
xml 配置文件
WinSW
的服务管理的配置功能须要xml文件来完成,每一个进程的xml文件的名称须要和WinSW
进程的名称同样;若是WinSW.exe
修改为了nginx-service.exe
,对应的xml
文件名称就要修改成nginx-service.xml
。
WinSW
提供了初始的xml
文件示例,有mini
版和完整版,名称分别是sample-minimal.xml
和sample-allOptions.xml
;WinSW xml
的示例文件以下:
xml 配置条目
Windows
内服务的ID
,这个值在系统中安装的全部服务中必须是惟一的,而且应彻底由字母数字字符组成。Windows
服务管理器中。PATH
Windows
服务的启动模式,默认值是Automatic
,它能够是如下值之一:Boot,System,Automatic
或Manual
。Automatic
定义了启动模式,则此布尔选项启用延迟启动模式。请注意,此启动模式将不适用于早于Windows 7
和Windows Server 2008
的旧Windows
版本。ID
,可使用多个元素来指定多个依赖项。好比:<depend>Eventlog</depend><depend>W32Time</depend>
<logpath>日志路径</logpath>
WinSW
会在必要时用引号将每一个引号<argument>
引发来,所以请勿在引号中加引号,以免产生双引号。在对WinSW
有了足够的了解以后,就能够开始着手开始把nginx
注册为Windows
服务。如下是详细步骤:
1.把下载的WinSW.exe
复制到Nginx根目录下,并重命名为nginx-service.exe
;
2.在同级目录下,新建一个xml
文件,命名为nginx-service.xml
,在nginx-service.xml
文件中输入如下内容,并保存;
3.在nginx-service.exe
所在的目录下运行cmd
,依次输入命令:
nginx-service.exe install
net start nginx-service.exe
至此,nginx-service.exe
不只成功注册,还能成功运行。
注册php-cgi
服务不只须要WinSW.exe
的支持,还须要xxfpm
的支持。所以,以前下载的xxfpm
即是在这里使用的;注册php-cgi
服务详细步骤以下:
1.在下载的xxfpm
的bin
目录下,有三个文件,分别是pthreadGC2.dll、xxfpm
和xxfpm.exe
,须要的是pthreadGC2.dll、xxfpm.exe
;
2.把pthreadGC2.dll、xxfpm.exe
复制到php
语言的根目录下,与php-cgi.exe
同级;
3.把下载的WinSW.exe
复制到Nginx
根目录下,并重命名为php-cgi-service.exe
;
4.在同级目录下,新建一个xml
文件,命名为php-cgi-service.xml
,在php-cgi-service.xml
文件中输入如下内容,并保存;
3.在php-cgi-service.exe
所在的目录下运行cmd
,依次输入命令:
php-cgi-service.exe install
net start php-cgi-service.exe
至此,php-cgi-service.exe
不只成功注册,还能成功运行。对于nginx
,也可做相似的操做,将其安装系统服务,实现开机自启动。
完结,老夫虽不正经,但老夫一身的才华!关注我,获取更多编程科技知识。