文章结构
- Linux如何设置开机自启动
- 方式1:如果是centos6就用chkconfig(推荐)
- 方式2:如果是centos7就用systemctl(推荐)
- 常见服务的开机自启动脚本
- mysql服务
- redis服务
- nacos服务
- setinal服务
Linux如何设置开机自启动
在/etc/rc.local
脚本中写启动命令,不推荐使用,可能无效,禁止使用禁止使用禁止使用!!!
方式1:如果是centos6就用chkconfig(推荐)
关于#chkconfig: 2345 20 80
- 2345指服务运行级别,就固定为2345就好
- 20是该程序开机的启动优先级,值越小越优先;80是关机时的优先级,值越小越先关闭;
对于有依赖关系的服务注意设置该值。
使用步骤如下:
- 在/etc/init.d目录编写好脚本
cd /etc/init.d
vim redis
redis文件
#!/bin/sh
#chkconfig: 2345 80 90
#descriptiong: redis服务的自启动脚本
# 以上是脚本的头,下面写自己的内容
# See how we were called.
case "$1" in
stop)
/usr/local/scripts/redis_6379 stop
;;
start)
/usr/local/scripts/redis_6379 start
;;
status)
echo "请执行ps命令自行查看"
;;
restart)
/usr/local/scripts/redis_6379 stop
/usr/local/scripts/redis_6379 start
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
;;
esac
- 加执行权限,测试
chmod 755 redis.sh
service redis stop
service redis start
service redis status
- 加入自启动
# 加入自启动列表
chkconfig --add redis
# 删除
chkconfig --del redis
# 开启
chkconfig redis on
# 查看
chkconfig --list
方式2:如果是centos7就用systemctl(推荐)
使用步骤如下:
- 进入
/usr/lib/systemd/system
目录
cd /usr/lib/systemd/system
- 创建脚本,如
nacos.service
文件 - 编写脚本文件(后面有示例)
- 先运行脚本测试
systemctl start nacos.service
- 设置开机自启动
systemctl enable nacos.service
关于systemclt
命令的使用
查看服务状态
systemctl status nacos.service
启动服务
systemctl start nacos.service
停止服务s
systemctl stop nacos.service
设置开机自启动
systemctl enable nacos.service
禁止开机自启动
systemctl disable nacos.service
常见服务的开机自启动脚本
mysql服务
# 一般安装的mysql都有mysqld.service文件,直接设置开机自启动
systemctl enable mysqld.service
redis服务
cd /usr/lib/systemd/system
vim redis.service
redis.service文件
[Unit]
Description=redis
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/scripts/redis_6379 start
ExecStop=/usr/local/scripts/redis_6379 stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
nacos服务
cd /usr/lib/systemd/system
vim nacos.service
nacos.service文件
[Unit]
Description=nacos
After=network.target
# 设置在mysqld.service服务启动之后启动,因为nacos以来mysql来持久化
After=mysqld.service
[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
setinal服务
cd /usr/lib/systemd/system
vim sentinel.service
sentinel.service文件
[Unit]
Description=sentinel
After=network.target
# 在nacos服务之后启动
After=nacos.service
[Service]
Type=forking
ExecStart=/usr/local/scripts/sentinel.sh
ExecStop=/usr/local/scripts/sentinel_shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.targe