前言
- 因为不想每次启动虚拟机都要手动启动一遍这些东西,所以想要设置成开机自启的状态
设置Tomcat开机自启
- 创建service文件
vi /etc/systemd/system/tomcat.service
- 添加如下内容,注意修改启动脚本和关闭脚本的地址
[Unit]
Description=Tomcat9068
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
- 设置开机自启:
systemctl enable tomcat
- 重新载入配置文件,使设置生效:
systemctl daemon-reload
- 重新启动看看效果:
reboot
(如果不能随便重启先别急哈哈)
设置Docker开机自启
- 查看已启动的服务:
systemctl list-units --type=service
- 若没有发现docker.service服务,则看这篇:https://blog.csdn.net/qq_44648936/article/details/131737156
- 查看服务是否开机自启:
systemctl list-unit-files | grep enable
- 设置开机自启:
systemctl enable docker.service
设置Docker容器开机自启
- Docker容器启动时添加:
–restart=always
- 添加位置取决于你是通过命令启动还是Dockerfile或其他脚本
- 若是已经启动的容器,通过updata进行更新:
docker update --restart=always 容器id或name
使用脚本开机自启
- 方法一:使用crontab启动脚本(建议)
#编辑定时任务
crontab -e
#添加如下内容,@reboot表示开机时执行
@reboot /home/evsoft/everyDayStart.sh
- 方法二:使用systemd服务
#添加service文件
vi /etc/systemd/system/everyDayStart.service
#添加如下内容
[Unit]
Description=everyDayStart
After=default.target
[Service]
ExecStart=/home/evsoft/everyDayStart.sh
[Install]
WantedBy=default.target
#重新载入配置文件,使设置生效:
systemctl daemon-reload
#设置开机自启:
systemctl enable everyDayStart
- 此时
systemctl start everyDayStart.service
可能会报错- 解决方案:
- 在自定义脚本everyStartDay.sh的开头加上
#!/bin/sh
- 或缺少执行权限
chmod +x everyStartDay.sh
- 或编码格式错误,通过
:set ff
查看编码格式,并通过:set ff=unix
修改编码格式
参考
- 设置Docker及容器开机自启
- Linux设置开机自启动脚本
- 设置Docker开机自启
- 配置Tomcat开机自启
- 通过服务启动脚本报错
文章来源地址https://www.toymoban.com/news/detail-664969.html
文章来源:https://www.toymoban.com/news/detail-664969.html
到了这里,关于部署问题集合(十九)linux设置Tomcat、Docker,以及使用脚本开机自启(亲测)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!