【Linux】自定义开机启动service
1. 确认 SELinux 是否开启
1.1 临时关闭 SELinux。临时禁用 SELinux 后,系统会立即生效,但重新启动后会恢复为启用状态。要临时禁用 SELinux,请使用以下命令:
sudo setenforce 0
这个命令将 SELinux 模式从 Enforcing 设置为 Permissive,即系统会记录违反 SELinux 策略的行为,但不会阻止它们。
getenforce
它应该输出 Permissive,表示 SELinux 被禁用了。
1.2 永久关闭 SELinux
要永久禁用 SELinux,需要修改 /etc/selinux/config 配置文件。
打开 SELinux 配置文件:
sudo nano /etc/selinux/config
查找 SELINUX=enforcing 这一行,将其修改为 SELINUX=disabled:
SELINUX=disabled
这会禁用 SELinux 并防止它在系统重启后重新启用。
保存并退出编辑器(按 Ctrl + X,然后按 Y 确认保存)。
重启系统以使更改生效:
sudo reboot
系统重启后,使用以下命令确认 SELinux 已被禁用:
getenforce
如果输出是 Disabled,那么 SELinux 已成功禁用。
小结:
临时禁用 SELinux 使用 setenforce 0,适用于测试和临时问题解决。
永久禁用 SELinux 需要修改 /etc/selinux/config 配置文件,并重启系统。
注意: 禁用 SELinux 会使系统更加容易受到攻击。建议只在没有其他解决方案的情况下禁用 SELinux。如果禁用 SELinux 后脚本运行正常,最好还是考虑调整 SELinux 策略,以保持系统安全。
自定义 service
1.创建 iot-saas.service
vi /etc/systemd/system/iot-saas.service
2.iot-saas.service 内容
[Unit]
Description=iot and saas service
After=docker.service
requires=docker.service
[Service]
Type=simple
ExecStart=/root/iot-and-saas-start.sh
TimeoutStartSec=0
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
3./root/iot-and-saas-start.sh 脚本内容
#!/bin/sh
cd /home/uxlinks/iot-pass/mqtt
docker-compose up -d
cd /home/uxlinks/iot-pass/iot
docker-compose up -d
cd /home/uxlinks/esd-saas/esd-db
docker-compose up -d
cd /home/uxlinks/esd-saas/esd-saas
docker-compose up -d
4.修改脚本权限
chmod +x /root/iot-and-saas-start.sh
5.启动 service/ 开机启动
启动
sudo systemctl start iot-saas.service
开机启动
sudo systemctl enable iot-saas.service