说明:本文只记录如何配置开机自启,MySQL、Redis等服务请自行部署。
前提:使用 systemctl 服务管理开机自启,如果系统是最小依赖系统,需提前安装 systemctl 服务。
# 联网情况下apt在线安装
apt update
apt -y install systemctl
# 离线情况下下载deb包使用dpkg离线安装
MySQL配置开机自启
步骤1:编辑service文件(使用root或sudo权限)
cd /lib/systemd/system/
sudo vi mysql.service
[Unit]
Description=mysql-server
After=network.target # 此处为启动MySQL的依赖服务,若有多个使用空格隔开
[Service]
Type=forking
ExecStart=systemctl restart mysqld
PrivateTmp=true
[Install]
WantedBy=multi-user.target
步骤2:配置开机自启
# 刷新systemctl
sudo systemctl daemon-reload
# 添加mysql服务到开机自启中
sudo systemctl enable mysql
# 查看是否配置成功
sudo systemctl is-enabled mysql
# 相关命令
systemctl start mysql #启动mysql
Redis配置开机自启
步骤1:修改redis.conf配置
cd /home/test/redis # redis配置文件路径
vi redis.conf
# 找到该配置,修改参数为no
stop-writes-on-bgsave-error no
# 退出保存
步骤2:编辑service文件(使用root或sudo权限)
cd /lib/systemd/system/
sudo vi redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
User=redis # 启动账号,不配置默认root启动
Group=redis
ExecStart=/home/test/redis/bin/redis-server /home/test/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
步骤3:配置开机自启
# 刷新systemctl
sudo systemctl daemon-reload
# redis服务添加到开机自启
sudo systemctl enable redis
# 查看是否配置成功
sudo systemctl is-enabled redis
# 相关命令
systemctl start redis #启动redis
sudo journalctl -u redis #查看启动日志
Shell脚本开机自启
步骤1:编辑脚本
cd /home/test
vi test.sh
#!/bin/bash
source ~/.profile # 此步骤可忽略,如果脚本中用到了环境变量,则需要此步骤(我用到了jdk,所以需要执行)
# 具体内容根据实际要执行的脚本来写,这里以启动某个jar包为例
dir_test='/home/test/spring-boot'
cd ${dir_test}
nohup java -jar test.jar &
步骤2:编辑service文件(使用root或sudo权限)
cd /lib/systemd/system/
vi test.service
[Unit]
Description=test-server
After=network.target mysql.service redis.service
[Service]
Type=forking
User=test
Environment=JAVA_HOME=/home/test/java1.8
ExecStart=/home/test/test.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
步骤3:配置开机自启
# 刷新systemctl
sudo systemctl daemon-reload
# test.sh添加到开机自启
sudo systemctl enable test
# 查看是否配置成功
sudo systemctl is-enabled test
# 相关命令
systemctl start test #启动test