Nginx 注册为windows服务 实现开机自启动


毕业季offer还没搞定?收下这份非典型求职面试指南>>>

需要借助"Windows Service Wrapper"小工具

1. winsw下载

去github上面下载winsw https://github.com/winsw/winsw/releases 需要下载 WinSW.NET4.exe  和 sample-minimal.xml

2.  修改sample-minimal.xml文件内容

<service>
    <id>nginx_service</id>
	<name>nginx_service</name>
	<description>This service runs nginx_service project.</description>
	<!-- 日志配置 -->
	<logpath>E:\nginx-1.14.0\logs</logpath>
	<log mode="roll-by-size">     
      <sizeThreshold>10240</sizeThreshold>     
      <keepFiles>8</keepFiles>   
    </log> 
	<!-- 需要执行的命令 -->
	<executable>E:\nginx-1.14.0\nginx.exe</executable>
	<startarguments>-p E:\nginx-1.14.0</startarguments>   
    <stopexecutable>E:\nginx-1.14.0\nginx.exe</stopexecutable>   
    <stoparguments>-p E:\nginx-1.14.0 -s stop</stoparguments> 
	<!-- 开机启动 -->
    <startmode>Automatic</startmode>
</service>

3.   修改文件名

把 WinSW.NET4.exe 和 sample-minimal.xml 分别重命名为 nginx_service.exe、nginx_service.xml [和xml文件中id同名]。

4. 编写脚本

编写启动脚本 run.bat

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd "%~dp0"
cd ../win
nginx_service.exe install
net start nginx_service
exit

编写停止脚本 stop.bat

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd "%~dp0"
cd ../win

net stop nginx_service
nginx_service.exe uninstall
exit

可以拷贝上面四个文件到E盘nginx安装目录下

5、运行脚本

  • 双击 run.bat  注册Nginx windows服务并启动Nginx
  • 双击stop.bat 停止Nginx服务并卸载已注册服务

来源:https://my.oschina.net/zhenggao/blog/5139634


码神部落- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与码神部落立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者半岛情歌码神部落享有帖子相关版权。
3、码神部落管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者半岛情歌码神部落的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。

最新回复 (0)
    • 码神部落
      2
        立即登录 立即注册 GitHub登录
返回
发新帖
作者最近主题: