Nginx(二)-服务模式运行nginx之WINSW
虽然使用命令行控制ngix很简单,但是如果作为一个服务工作的话能更方便地启动、停止或者设置依赖项。
这里使用开源项目Windows Service Wrapper 来实现。
github下载地址:https://github.com/kohsuke/winsw/releases
.netframework2.0 选择 WinSW.NET2.exe
.netframework4.0 选择WinSW.NET4.exe
这里选择 WinSW.NET4.exe
第一步:
下载WinSW.NET4.exe,放至待包装的exe文件夹中,这里就是nginx.exe所在的目录,并修改名字为“nginxservice.exe”
在nginxservice.exe同目录中新建一个同名的xml文件
修改xml文件内容,格式可参考下载列表里的xml范例
这里参考最简单的sample-minimal.xml
修改为真实内容
安装服务
d:\nginx\nginxservice.exe install
安装完成后后在服务里查看到该服务 nginxservice,至此服务安装完成
启动该服务,然后在浏览器中输入地址和原先以控制台指令执行结果运行一致 代表执行成功
卸载服务指令
nginxservice.exe uninstall 或者使用 sc delete 服务名称
其它:
exe目录下存在运行日志可供查看运行内容
常见问题:
1.删除服务时出现“服务已被标记为删除”
一般为卸载和删除服务时服务正在运行或者windows服务管理器没有关闭导致,删除前养成关闭服务和服务管理器的习惯,然后重新安装启动即可。
2.服务启动后自动关闭,无法正常运行
一般是配置文件配置错误,常见如端口冲突(比如IIS 和Nginx 使用了相同端口,则Nginx不能再使用该端口),这时只要消除端口冲突即可,具体错误可以查看错误日志。
更新:
经验证该方法在server系统无法自动启动和服务状态显示错误问题,推荐使用NSSM封装nginx为windows服务使用,使用方法参照