博客
关于我
ubuntu自定义一个service制作开机自启脚本,nacos开机自启
阅读量:560 次
发布时间:2019-03-09

本文共 1509 字,大约阅读时间需要 5 分钟。

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 serviceAfter=network.target# 这里是关键[Service]# 后台运行模式,服务类型,具体可以自行百度,设置成自己想要的Type=forking# 所属用户#User=szyd# 所属组#Group=szyd# 重启#Restart=alwaysTimeoutSec=0# 配置重新启动服务之前的睡眠时间,重启频率,比如某次异常后,等待5(s)再进行启动,默认值0.1(s)#RestartSec=60# 这是服务运行的具体执行命令,可执行执行脚本的绝对路径,即对应的service start/stop/reloadExecStart=/home/ubuntu/installer/nacos/bin/startup.sh -m standaloneExecReload=/home/ubuntu/installer/nacos/bin/shutdown.shExecStop=/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想进一步了解的话,可以看一下大佬的博客

第二步:编写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		# 手动停止服务

启动成功

转载地址:http://fwvpz.baihongyu.com/

你可能感兴趣的文章
mysql启动以后会自动关闭_驾照虽然是C1,一直是开自动挡的车,会不会以后就不会开手动了?...
查看>>
mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
查看>>
Mysql启动失败解决过程
查看>>
MySQL启动失败:Can't start server: Bind on TCP/IP port
查看>>
mysql启动报错
查看>>
mysql启动报错The server quit without updating PID file几种解决办法
查看>>
mysql命令
查看>>
mysql命令==_mysql命令
查看>>
mysql命令和mysql的配置文件
查看>>
watch
查看>>
MySQL命令行操作的相关语法
查看>>
MySQL命令行登陆,远程登陆MySQL
查看>>
mysql命令:set sql_log_bin=on/off
查看>>
mySQL和Hive的区别
查看>>
MySQL和Java数据类型对应
查看>>
mysql和oorcale日期区间查询【含左右区间问题】
查看>>
MYSQL和ORACLE的一些操作区别
查看>>
mysql和redis之间互相备份
查看>>
MySQL和SQL入门
查看>>
mysql在centos下用命令批量导入报错_Variable ‘character_set_client‘ can‘t be set to the value of ‘---linux工作笔记042
查看>>