Linux环境配置Seata开机自启脚本(在MySQL和Nacos启动后启动)

之前给seata配置了一个开机启动脚本,但是经常出现启动失败,查询日志要么MySQL没有连接上要么nacos连接不上,原因都是因为服务器重启的时候这两个服务都还没有完全启动,所以正常的做法应该是启动前先等前置服务启动好了再启动seata

直接上脚本
将脚本放在lib/systemd/system目录下,名字就叫seata.service

[Unit]

Description=seata
After=mysql.service nacos.service
Requires=mysql.service nacos.service

[Service]
Type=forking
ExecStart=/usr/local/seata/bin/seata-server.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

After 定义启动顺序
Requires 表示指定的服务单元依赖于另一个服务单元,并且在启动或停止时,systemd将确保所依赖的单元也被启动或停止。
Type=forking 是 systemd单元文件中的一个配置项,用于指定服务的启动方式。具体来说,它告诉 systemd 这个服务的主进程是一个 fork 出来的子进程。
WantedBy=default.target 是 systemd 单元文件中的一个配置项,用于指定服务单元关联到哪个 target。在 systemd 中,target 是一个单元的集合,它定义了一组单元的依赖关系。

然后执行下面命令

systemctl daemon-reload
systemctl enable seata.service
systemctl status seata.service

这样seata每次就能在服务器重启的时候正常启动了

你可能感兴趣的:(linux,mysql,运维)