ubuntu自定义一个service制作开机自启脚本,nacos开机自启

Posted 好大的月亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu自定义一个service制作开机自启脚本,nacos开机自启相关的知识,希望对你有一定的参考价值。

Ubuntu没有自带其他linux版本自带的rc.local文件的开机自启动方法,所以要自己生成rc.local文件,其实就是自定义一个service服务

就像大家平时使用的service

service xxx start		# 尝试手动启动服务,看是否能正常运行
service xxx status		# 查看服务运行状态
service xxx stop		# 手动停止服务

第一步:编写service服务

sudo vim /etc/systemd/system/myselfTest.service # 编写service服务

myselfTest:文件名,可随意设置。
myselfTest.service文件内容

这里我以设置nacos服务开机自启为例

[Unit]
# 描述,随你怎么写
Description=Cclient desktop virtualization service
After=network.target

# 这里是关键
[Service]
# 后台运行模式,服务类型,具体可以自行百度,设置成自己想要的
Type=forking
# 所属用户
#User=szyd
# 所属组
#Group=szyd
# 重启
#Restart=always
TimeoutSec=0
# 配置重新启动服务之前的睡眠时间,重启频率,比如某次异常后,等待5(s)再进行启动,默认值0.1(s)
#RestartSec=60
# 这是服务运行的具体执行命令,可执行执行脚本的绝对路径,即对应的service start/stop/reload
ExecStart=/home/ubuntu/installer/nacos/bin/startup.sh -m standalone
ExecReload=/home/ubuntu/installer/nacos/bin/shutdown.sh
ExecStop=/home/ubuntu/installer/nacos/bin/shutdown.sh
[Install]
# 这里你没太大要求可以不管
WantedBy=multi-user.target

Type=forking,我这里的理解是通过ExecStart启动脚本后成功了,本身的myselfTest这个服务还会一直挂在后台,通过service myselfTest status可以看到active状态,而Type=simple则在ExecStart启动成功之后,就直接推出了,所以看myselfTest服务会是inactive状态.

在这里插入图片描述

关于Type=forking想进一步了解的话,可以看一下大佬的博客
https://www.junmajinlong.com/linux/systemd/service_2/

第二步:编写shell脚本

下面是个假脚本,就是上面service中要执行的脚本,大家自己写就行了
在这里插入图片描述
nacos的话这里还要注意一点,在startup.sh脚本中要把jdk变量设置为绝对路径
在这里插入图片描述

第三步:设置为自启动服务

Ubuntu18.04版本之后,就采用了systemctl来控制开机自启动服务

sudo systemctl daemon-reload	#重新加载service服务
sudo systemctl enable myselfTest.service		# 启用服务
sudo systemctl is-enabled myselfTest.service		# 查看启用状态
service myselfTest start		# 尝试手动启动服务,看是否能正常运行
service myselfTest status		# 查看服务运行状态
service myselfTest stop		# 手动停止服务

启动成功

以上是关于ubuntu自定义一个service制作开机自启脚本,nacos开机自启的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu20.04设置开机自启脚本开机自启命令(ubuntu自启,ubuntu开机自启)rc(run command)(systemd)(/etc/rc.local)(开机启动原理)

ubuntu 设置开机自启

Ubuntu 设置开机自启服务

设置nginx开机自启

Ubuntu 16.04开机自启Nginx简单脚本

ubuntu 18.04 设置开机自启命令