win10/win11下nginx自动启动

前言

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 安装工具并运行服务

  1. 下载后将该工具放入Nginx的安装目录下,并且将其重命名为 nginx-service.exe
  2. 在nginx安装目录下新建服务日志文件夹server-logs文件夹,用来存放nginx服务相关日志
  3. 在该目录下新建 nginx-service.xml 文件,写入配置信息,配置好了之后就可以通过这个将Nginx注册为Windows服务了
  4. 运行nginx-service.exe install进行安装服务
  5. 运行nginx-service.exe start启动服务

nginx-service.xml文件如下, 其中nginx目录需要根据自己的情况进行修改



    nginx
    nginx-service
    nginx 服务
    D:\nginx\server-logs\
    roll
    
    D:\nginx\nginx.exe
    D:\nginx\nginx.exe -s stop

效果如下:


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
版权声明:转载请注明出处!
声援博主:如果您觉得文章对您有帮助,关注点赞, 您的鼓励是博主的最大动力!

你可能感兴趣的:(win10/win11下nginx自动启动)