Linux自启服务提示:systemd[1]: *.service: main process exited, code=exited, status=1问题

这两天一直在沉迷于配脚本,由于服务器很多,所以我都是从一台服务器上配置好的脚本直接copy到另一台服务器,按说完全一样的脚本一样的操作,那么应该是一样的执行结果
but, Gul’dan,代…我重启服务器后服务并没有正常启动,瓦特?
cd /lib/systemd/system目录,查看一下状态

systemctl status rocketmq.service

在这里插入图片描述

可以看到状态是正常的,主要问题在这里

Nov 30 11:59:27 test-database systemd[1]: rocketmq.service: main process exited, code=exited, status=1/FAILURE
Nov 30 11:59:27 test-database systemd[1]: Unit rocketmq.service entered failed state.
Nov 30 11:59:27 test-database systemd[1]: rocketmq.service failed.

难道是我脚本有问题?于是我手动启动了一下脚本,正常启动,排除脚本问题
然后百度,不得不说百度越来越垃圾了,我现在都懒得说它了
爬墙谷歌,还是没找到有用的答案
放终极大招,请万能的ChatGPT!!!
直接把异常信息全部丢给它

在这里插入图片描述

上面的回答和百度上搜到的差不多,很明显都不是这些问题,因为我直接运行脚本是可以启动的
所以继续灵魂拷问

在这里插入图片描述
它判断认为是环境变量的问题,我一看也觉得它说得对!同样的服务同样的脚本同样的操作如果不能正常操作,那只能是所处的环境有问题
下面这个就是它给的建议

[Unit]
Description=RocketMQ Service

[Service]
Environment="JAVA_HOME=/path/to/your/java"
Environment="ROCKETMQ_HOME=/usr/local/rokectmq/rocketmq-all-4.7.0-bin-release"
ExecStart=/usr/local/rokectmq/rocketmq-all-4.7.0-bin-release/bin/start.sh

[Install]
WantedBy=multi-user.target

按照它的建议在里面加上Environment,然后重新加载一下开机配置

sudo systemctl daemon-reload
sudo systemctl restart rocketmq

reboot重启服务器

查看进程 ps -ef|grep mq
在这里插入图片描述

搞定!感谢GPT!!!
我向众神祈祷,众神传达的都是你的名字:GPT!!!

发现新的问题,在另外一台服务器上这样操作了但是还是提示这个异常,是的,这个服务器环境变量配置得一塌糊涂,但是因为不是我配置的我也不敢动
我们直接解决问题就行,查看当前服务器环境变量路径

echo $PATH

可以看到是下面这样的

在这里插入图片描述

把这个路径加入到我们的start.sh中

export PATH=/usr/local/java/jdk1.8.0_221/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

就放到最上面就可以了
在这里插入图片描述

然后重启服务,再次搞定!!!
真特么心累啊!

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子非衣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值