Linux Ubuntu 20.04 —添加开机启动(服务/脚本)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Ubuntu 20.04 —添加开机启动(服务/脚本)相关的知识,希望对你有一定的参考价值。
参考技术A 本文章向大家介绍Linux Ubuntu 20.04 —添加开机启动(服务/脚本),主要包括Linux Ubuntu 20.04 —添加开机启动(服务/脚本)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
系统启动时需要加载的配置文件
一、修改开机启动文件:/etc/rc.local(或者/etc/rc.d/rc.local)
二、自己写一个shell脚本
将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,系统启动后就会自动执行该目录下的所有shell脚本。
三、通过chkconfig命令设置
四、自定义服务文件,添加到系统服务,通过Systemctl管理
1.写服务文件:如nginx.service、redis.service、supervisord.service
2.文件保存在目录下:以754的权限。目录路径:/usr/lib/systemd/system。如上面的supervisord.service文件放在这个目录下面。
3.设置开机自启动(任意目录下执行)。如果执行启动命令报错,则执行:systemctl daemon-reload
4.其他命令
5.服务文件示例:
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 # 手动停止服务
启动成功
以上是关于Linux Ubuntu 20.04 —添加开机启动(服务/脚本)的主要内容,如果未能解决你的问题,请参考以下文章