微信扫一扫 分享朋友圈

已有 47 人浏览分享

开启左侧

Centos7 设置开机自启有哪些方法

[复制链接]
47 0
一、系统服务的方式
1. 前提
(1)首先要将需要自启的软件或应用注册成系统服务,下面提供常用的软件注册系统服务的案例
    nginx.service
创建服务文件
  1. vi  /usr/lib/systemd/system/nginx.service
复制代码
  1. [Unit]
  2. Description=nginx
  3. After=network.target remote-fs.target nss-lookup.target

  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/local/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  7. ExecReload=/usr/local/sbin/nginx -s reload
  8. ExecStop=/usr/local/sbin/nginx -s stop
  9. ExecQuit=/usr/local/sbin/nginx -s quit
  10. PrivateTmp=true

  11. [Install]
  12. WantedBy=multi-user.target
复制代码
redis.service
创建服务文件

  1. vi  /usr/lib/systemd/system/redis.service
复制代码
  1. [Unit]
  2. Description=Redis6.2.5
  3. After=network.target

  4. [Service]
  5. PIDFile=/var/run/redis_6379.pid
  6. ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
  7. ExecReload=kill -s HUP $MAINPID
  8. ExecStop=kill -s QUIT $MAINPID
  9. PrivateTmp=true

  10. [Install]
  11. WantedBy=multi-user.target
复制代码
nacos.service(这种是基于shell脚本执行的案例,需要将你的执行脚本授予执行权限,如:chmod +x /usr/local/nacos/bin/startup.sh)
创建服务文件

  1. vi  /usr/lib/systemd/system/nacos.service
复制代码
  1. [Unit]
  2. Description=nacos-server-2.0.3
  3. After=network.target

  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/local/nacos/bin/startup.sh -m standalone
  7. ExecReload=/usr/local/nacos/bin/shutdown.sh
  8. ExecStop=/usr/local/nacos/bin/shutdown.sh
  9. PrivateTmp=true

  10. [Install]
  11. WantedBy=multi-user.target
复制代码
其他的脚本类型的可以参考nacos 那种方式,先创建启动应用和停止应用的脚本,再给脚本授权执行权,最后创建服务
服务的文件存放在  /usr/lib/systemd/system 如下:
/usr/lib/systemd/system/nacos.service
/usr/lib/systemd/system/nginx.service
/usr/lib/systemd/system/redis.service

image.png
2. 配置描述
Description           -描述服务
After                       -描述服务类别
[Service]                -服务运行参数的设置
Type=forking         -是后台运行的形式
ExecStart               -为服务的具体运行命令
ExecReload           -为重启命令
ExecStop               -为停止命令
PrivateTmp=True  - 表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]                   -运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
3. 全部命令
  1. #重载服务单元
  2. systemctl daemon-reload  

  3. #启动redis服务
  4. systemctl start redis.service
  5. #设置开机自启动

  6. systemctl enable redis.service

  7. #停止开机自启动
  8. systemctl disable redis.service

  9. #查看服务当前状态
  10. systemctl status redis.service

  11. #重新启动服务
  12. systemctl restart redis.service 

  13. #查看所有已启动的服务
  14. systemctl list-units --type=service
复制代码
二、 系统自带启动
1. 写好自己应用的启动脚本,例如:
    # 创建脚本
    vi  /home/myShell/startup.sh

添加脚本内容
    #!/bin/bash   
    # 后台启动java应用
    nohup java -Dserver.port=8858 -jar /usr/local/sentinel/sentinel-dashboard-1.8.2.jar >> logs/start.log 2>&1 &

授执行权限
chmod +x /home/myShell/startup.sh

2. 添加自启
编辑自启的系统文件
    # /etc/rc.d/rc.local 这个文件是系统自带的启动文件
    vi  /etc/rc.d/rc.local

添加下面我们要自启的脚本
/home/myShell/startup.sh
image.png


image.png
3. 在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local

三、利用系统 /etc/rc.d/init.d 自启
1. 创建自己的脚本 (参考方式二的第一点创建脚本)
2. 将执行的脚本放在到/etc/rc.d/init.d目录下

image.png
3. 添加脚本到开机自动启动项目中
  1. # 切换到这个目录下
  2. cd /etc/rc.d/init.d

  3. # 添加我们的脚本
  4. chkconfig --add startup.sh

  5. # 设置自启执行
  6. chkconfig startup.sh on
复制代码
注意:所有需要执行的文件都需要授予执行权限
授权命令: chmod  +x  [脚本的绝对路径]


免责声明:
1,海欣资源网所发布的资源由网友上传和分享,不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
2,海欣资源网的资源来源于网友分享,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3,海欣资源网所发布的资源由网友上传和分享,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
4,如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉,联系方式邮箱 haixinst@qq.com
海欣资源-企业信息化分享平台。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

34

主题
热度排行
回复排行
最新贴子

Archiver|手机版|小黑屋|海欣资源 ( 湘ICP备2021008090号-1 )|网站地图

GMT+8, 2022-9-25 16:20 , Gzip On, MemCache On.

免责声明:本站所发布的资源和文章均来自网络,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉。