当前位置: 首页 > news >正文

把nginx、jar包、redis做成windows系统服务,开机自动启动

一、背景

        帮朋友部署了一个基于若依框架的系统,怕他平时不懂维护,我就想把所有程序做成系统服务,让它们开机自启动,实现有问题就重启电脑解决。

二、系统构成

        系统由前端(若依框架前端,nginx部署)、后端(若依框架后端,java -jar)、数据库(MySQL)、缓存(Redis)4个部分构成。

三、做成windows系统服务

(一)Redis做成windows系统服务

   假设redis的安装目录是d:\redis,用windows自带的sc命令就可以了。

sc create RedisServer binPath= "D:\redis\redis-server.exe --service-run D:\redis\redis.windows.conf" start= auto displayname= "Redis Server"

(二)nginx做成windows系统服务

        1.下载WinSW

        我搜索到的是不能直接用系统自带的sc命令来创建服务,用的是winsw,地址是https://github.com/winsw/winsw/releases,我选中的下面最新的稳定版本,下载的是WinSW-x64.exe。如果你打开很慢,也可以直接下载我上传的winsw-64.exe。

        2.用winsw做nginx系统服务

          假设nginx的目录是D:\softs\nginx-1.28.0

        (1)复制WinSW-64.exe到nginx目录

                修改WinSW-64.exe的名称为nginx-service.exe。

        (2)编写nginx-service.xml

        xml文件名称要与exe文件名称相同,我把服务名称也写一样的,方便查找核对。里面的定义可以去看官方文档日志定义说明,同目录下还有其他的说明,也可以问AI解释。我就不详细解释了。        

<service><id>nginx-service</id><name>nginx-service</name><description>XX系统前端服务</description><executable>D:\softs\nginx-1.28.0\nginx.exe</executable><stopexecutable>D:\softs\nginx-1.28.0\nginx.exe</stopexecutable><stopargument>-s</stopargument><stopargument>stop</stopargument><!-- 新增:重载配置命令(reload) --><reloadexecutable>D:\softs\nginx-1.28.0\nginx.exe</reloadexecutable><reloadargument>-s</reloadargument><reloadargument>reload</reloadargument><!-- 日志配置(输出到console.txt) --><logpath>D:\softs\nginx-1.28.0/logs/</logpath><log mode="roll-by-size-time"><sizeThreshold>10240</sizeThreshold><pattern>yyyyMMdd</pattern><autoRollAtTime>00:00:00</autoRollAtTime></log><startmode>Automatic</startmode><!-- 关键配置:启用延迟启动(依赖Windows系统支持) --><delayedAutoStart>true</delayedAutoStart><restartsec>30</restartsec><onfailure action="restart" delay="60 sec"/>
</service>
        (3)创建服务及启动

        打开cmd窗口,切到我们nginx的安装目录,并执行服务创建,和服务运行的命令。

cd /d D:\softs\nginx-1.28.0
nginx-service.exe install
sc start nginx-service

        如果创建不对,可以用 nginx-service.exe  uninstall来删除服务,但是注销之前要先关闭服务。也可以用 sc delete nginx-service来删除服务。

(三)jar包做成windows系统服务

        我的jar包放在D:\softs\services目录下面。

         (1)复制WinSW-64.exe到jar包所在目录

                修改WinSW-64.exe的名称为ruoyi-admin-service.exe。

        (2)编写ruoyi-admin-service.xml

        xml文件名称要与exe文件名称相同,我把服务名称也写一样的,方便查找核对。里面的定义可以去看官方文档日志定义说明,同目录下还有其他的说明,也可以问AI解释。我就不详细解释了。        

<service><id>ruoyi-admin-service</id><name>ruoyi-admin-service</name><description>XX系统后端服务</description><executable>java</executable><arguments>-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar "%BASE%\ruoyi-admin.jar" --spring.datasource.druid.master.password=xxxx --server.port=8080</arguments><!-- 日志配置(输出到console.txt) --><logpath>D:/softs/services/logs/</logpath><log mode="roll-by-size-time"><sizeThreshold>10240</sizeThreshold><pattern>yyyyMMdd</pattern><autoRollAtTime>00:00:00</autoRollAtTime></log><startmode>Automatic</startmode><restartsec>30</restartsec><onfailure action="restart" delay="60 sec"/>
</service>
        (3)创建服务及启动

        打开cmd窗口,切到我们nginx的安装目录,并执行服务创建,和服务运行的命令。

cd /d D:\softs\services
ruoyi-admin-service.exe install
sc start ruoyi-admin-service

        如果创建不对,可以用 ruoyi-admin-service.exe  uninstall来删除服务,但是注销之前要先关闭服务。也可以用 sc delete ruoyi-admin-service来删除服务。

        


文章转载自:

http://iSzQvX9T.ykrkb.cn
http://KgJBDUFK.ykrkb.cn
http://snLSPLqQ.ykrkb.cn
http://0jwApbnN.ykrkb.cn
http://k7MdnZF8.ykrkb.cn
http://8Ui0NmhQ.ykrkb.cn
http://Avv7nWca.ykrkb.cn
http://ZO6nBDo7.ykrkb.cn
http://kwI59Scm.ykrkb.cn
http://aoLlxpy7.ykrkb.cn
http://oDMDVlcH.ykrkb.cn
http://e8PpTgS4.ykrkb.cn
http://BWvYiXJy.ykrkb.cn
http://R0N4gbpH.ykrkb.cn
http://ko1UdGIG.ykrkb.cn
http://5535gzjj.ykrkb.cn
http://sy2QE5ZK.ykrkb.cn
http://RDO2XZev.ykrkb.cn
http://Zjg37u8A.ykrkb.cn
http://Mr9PvJgS.ykrkb.cn
http://SRrY3h8h.ykrkb.cn
http://rWnw2iDP.ykrkb.cn
http://CWGcvMXp.ykrkb.cn
http://DiE5648u.ykrkb.cn
http://fZm07k0e.ykrkb.cn
http://HVxAIwAH.ykrkb.cn
http://eSBXQQQc.ykrkb.cn
http://9LhlT7us.ykrkb.cn
http://Pd5FeE31.ykrkb.cn
http://AiUpKHRg.ykrkb.cn
http://www.dtcms.com/a/378191.html

相关文章:

  • Java学习笔记四(继承)
  • Redis分布式锁的try-with-resources实现
  • 广东省省考备考(第九十七天9.11)——言语(刷题巩固第三节课)
  • ReentrantLock 源码深度解析
  • 机器人驭风而行:低空经济如何开启智能新纪元
  • 【系统架构设计(27)】信息安全技术集成
  • spring mvc 拦截器 (HandlerInterceptor )
  • 【Nginx】- 日志定期清理设置
  • 102、23种设计模式之装饰器模式(11/23)
  • SwiftData3 一剑封喉:WWDC25 的“数据剑谱”精讲,让 Core Data 老侠原地退休
  • [硬件电路-180]:集成运放,在同向放大和反向放大电路中,失调电压与信号一起被等比例放大;但在跨阻运放中,失调电压不会与电流信号等比例放大。
  • IDEA连接redis数据库时出现Failed to connect to any host resolved for DNS name.
  • kafka:【2】工作原理
  • ctfshow_web14------(PHP+switch case 穿透+SQL注入+文件读取)
  • 中电金信携手海光推出金融业云原生基础设施联合解决方案
  • 【Linux】初始Linux:从计算机历史发展、操作系统历史脉络的角度详谈Linux相关的话题,附Linux安装和用户创建(环境准备)详解
  • 软件设计师_第十章:软件工程(上)
  • ptx 简介03,ldmatrix 的应用实例解析
  • CSS的平面转换transform
  • CSS 居中
  • Golang进阶(二):设计先行
  • 腾讯深夜“亮剑”,AI编程“王座”易主?CodeBuddy发布,Claude用户一夜倒戈
  • 突破机器人通讯架构瓶颈,CAN/FD、高速485、EtherCAT,哪种总线才是最优解?
  • 【开题答辩全过程】以 _基于SSM框架的植物园管理系统的实现与设计为例,包含答辩的问题和答案
  • 哈希表封装myunordered_map和myunordered_set
  • 9.9网编项目——UDP网络聊天室
  • 单表查询-having和where区别
  • LVGL:基础对象
  • 【LeetCode - 每日1题】将字符串中的元音字母排序
  • 签名、杂凑、MAC、HMAC