在上文中,我们使用了nginx + php-cgi 来配置thinkphp的运行环境,项目已成功运行,可以很开心的开发php项目了。
但是也并不是高枕无忧了,此时的项目环境存在着以下几个问题:
如果把nginx 和 php-cgi注册为windows系统服务,设置开机启动;这样nginx和php-cgi便能作为系统服务,持续运行,并且在开机时就能随系统一起启动;然后在windows任务管理器中就能对nginx 服务和php-cgi服务进行管理。
把nginx 和 php-cgi注册为windows系统服务需要WinSW和xxfpm的支持;所以,我们首先要来下载这两个程序,下载地址如下:
下载选择的时候根据自己的操作系统,选择对应的安装包即可;对于xxfpm,直接下载就好,因为只有windows版;
对于WinSW,针对不同的.net版本,提供了不同的安装包,这里选择.NET4版本的就好;
然后,把下载好的文件解压,以待下一步使用。
WinSW是一个可用于包装和管理作为Windows服务的自定义进程的工具,可以对windows中的服务程序进行管理(注册、卸载、启动、停止、重启等操作),其本质上就是一个可执行的二进制文件,运行于windows系统下。
WinSW对系统服务的管理功能和在windows任务管理器中的操作是一样的;从2.x开始WinSW 托管于github平台;在下载完成解压后,其可执行的操作命令如下所示:
命令需要在WinSW.exe 所在的目录下才能执行,由于WinSW初始的名称是WinSW.exe,所以要在命令前加上进程名称,比如:安装服务的完整命令就是:winsw install;(后缀.exe是可以省略的)
WinSW.exe 支持修改名称,比如在nginx中,其名称可修改为:nginx-service.exe; 在php中,名称则可修改为php-cgi-service.exe;
WinSW 的服务管理的配置功能需要xml文件来完成,每个进程的xml文件的名称需要和WinSW 进程的名称一样;如果WinSW.exe 修改成了nginx-service.exe,对应的xml文件名称就要修改为nginx-service.xml。
WinSW 提供了初始的xml文件示例,有mini版和完整版,名称分别是sample-minimal.xml和sample-allOptions.xml;WinSW xml的示例文件如下:
在对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 不仅成功注册,还能成功运行。
注册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
不仅成功注册,还能成功运行。对于nginx,也可作类似的操作,将其安装系统服务,实现开机自启动。
完结,老夫虽不正经,但老夫一身的才华!关注我,获取更多编程科技知识。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。