Windows 下部署服务
544人浏览 / 0人评论
easy-service
GitHub - pandolia/easy-service (将解压后svc.exe所在路径添加到系统变量path)
常用命令:
a. 运行 svc check 命令检查配置是否合法
b. 运行 svc test-worker 命令测试 Worker 程序是否能正常运行
若测试无误:
c. 运行 svc install 命令安装并启动系统服务,此时程序就已经开始在后台运行了
d. 运行 svc stop|start|restart|remove 停止、启动、重启或删除本系统服务
配置项:
# 服务名称,不能与系统中已有服务重名
ServiceName: easy-service
# 服务显示名称,不能与系统中已有服务的显示名称相同
DisplayName: easy-service
# 服务描述
Description: An example of EasyService
# 本服务依赖的服务名列表,用逗号分开,例如: Appinfo,AppMgmt
Dependencies:
# 需要运行的可执行程序及命令行参数
Worker: sample-worker.exe
# 运行程序的环境变量
Environments: TEST-ENV1=A1,TEST-ENV2=A2,TEST-ENV3=A3
Environments: TEST-ENV4=A4,TEST-ENV5=A5,TEST-ENV6=A6
# 程序运行的工作目录,请确保该目录已存在
WorkingDir: worker
# 输出目录,程序运行过程的输出将会写到这个目录下面,请确保该目录已存在
# 如果不想保存 Worker 的输出,请设为 $NULL
OutFileDir: outfiles
# 停止服务时,等待程序主动退出的最大时间
WaitSecondsForWorkerToExit: 5
# 注意: MaxLogFilesNum配置已废弃(自v1.0.11)
# 日志文件的最大个数,设为空则不限制,否则需要设置为大于等于 2 的整数
# svc.exe 每隔两个小时检查一次日志文件个数,如果个数大于这个值,就删除最老的几个文件
MaxLogFilesNum:
# 程序的内存使用限制值
WorkerMemoryLimit:
# 程序输出的编码,如果不确定,请设为空
WorkerEncoding: utf8
# 运行本服务的用户,一般情况下用 LOCAL-SYSTEM ,下面三个项都设为空
# 如果使用普通用户,下面三个项, 域、用户名、密码都要设置,而且要在服务管理面板里面授权此用户运行服务的权限
# 域如果不确定,可以设置为 “."
Domain:
User:
Password:
nssm
下载地址:NSSM - the Non-Sucking Service Manager (将解压后nssm.exe所在路径添加到系统变量path)
nssm -h 查看常用命令
Windows自带
参考:https://www.jianshu.com/p/907c3558cc9b
操作:win + r
输入 %UserProfile%
后回车,在上方文件路径框中输入 AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
后回车,将需要自启动的程序快捷方式或者脚本文件放入即可。
或者:win + r
输入 shell:startup
回车。
全部评论