前言
nginx下载到电脑之后放到某个文件夹下即可用命令行使用, 每次开机使用命令行启动不免有些麻烦, 于是就有了下面的方法设置开机自动启动
1. 自启动文件夹方式
可先写好一个cmd命令行脚本, 然后生成一个快捷方式,将快捷方式放到自启动文件夹下即可.
1.1 打开启动文件夹
win + r
打开运行窗口,在运行窗口内输入:shell:startup
1.2 新建cmd运行命令文件并写入命令
在nginx.exe所在目录新建run-nginx.cmd
文件(文件名随意,见名知意即可)
@echo off
::这是简单的输出
echo nginx start......
::设置启动窗口的标题
title nginx -server
::定义一个变量ENV_HOME
set ENV_HOME="D:\nginx"
D:
::设置启动窗口的颜色
color 0a
cd %ENV_HOME%
start nginx.exe
::pause
exit
1.3 生成快捷方式
右键run-nginx.cmd
文件, 选择 生成快捷方式 (注: win11需要先选显示更多选项之后才有), 将快捷方式拖入1.1中打开的启动文件夹即可
2. 使用WinSW工具生成服务方式
可将nginx.exe使用Windows Service Wrapper工具打包成一个windows服务, 然后可对此服务在服务中心配置自启动或手动等等的管理
2.1 下载winSW工具
下载地址https://github.com/winsw/winsw/releases
2.2 安装工具并运行服务
- 下载后将该工具放入Nginx的安装目录下,并且将其重命名为 nginx-service.exe
- 在nginx安装目录下新建服务日志文件夹server-logs文件夹,用来存放nginx服务相关日志
- 在该目录下新建 nginx-service.xml 文件,写入配置信息,配置好了之后就可以通过这个将Nginx注册为Windows服务了
- 运行
nginx-service.exe install
进行安装服务 - 运行
nginx-service.exe start
启动服务
nginx-service.xml文件如下, 其中nginx目录需要根据自己的情况进行修改
<!-- nginx-service.xml -->
<service>
<id>nginx</id>
<name>nginx-service</name>
<description>nginx 服务</description>
<logpath>D:\nginx\server-logs\</logpath>
<logmode>roll</logmode>
<depend></depend>
<executable>D:\nginx\nginx.exe</executable>
<stopexecutable>D:\nginx\nginx.exe -s stop</stopexecutable>
</service>
效果如下:
nginx页面 启动服务
nginx服务
你可重命名WinSW.exe 成你自己应用的名称, 下面是该工具的其他命令, 可供参考:
Command | Description |
---|---|
WinSW.exe install | 安装服务 |
WinSW.exe uninstall | 卸载服务 |
WinSW.exe start | 启动服务 |
WinSW.exe stop | 停止服务 |
WinSW.exe restart | 重启服务 |
WinSW.exe status | 检查服务状态 |
WinSW.exe refresh | 在不重新安装情况下刷新服务 |
WinSW.exe customize | 自定义命令 |
总结:
方式1优点是使用系统自启动文件夹方式执行一个启动nginx的cmd命令,快捷方便,无需第三方软件和服务, 适合跑一些测试或对服务稳定性要求不高的情景.缺点是如果nginx服务挂掉了,nginx服务不会自动启动,只能手动执行命令启动.
方式2优点是将nginx工具包装成服务,在windows服务中心里管理服务,在服务因意外原因导致nginx服务停止可自动启动服务, 可用于服务器端. 缺点是需要第三方软件协助,需要安装并学习特定的命令.
本文作者:wwmin
微信公众号: DotNet技术说
本文链接:https://www.jianshu.com/p/307b510bd2cd
版权声明:转载请注明出处!
声援博主:如果您觉得文章对您有帮助,关注点赞, 您的鼓励是博主的最大动力!
网友评论