zoukankan      html  css  js  c++  java
  • 在Linux系统(CentOS7版本)下,如何实现某个服务的开机自启动?

    【问题描述】

      在CentOS6及其之前的版本,可以使用service + chkconfig 命令,来实现服务的开机自启动;

      但在CentOS7版本系统上,之前的命令和配置都无效了。

    【思路分析】

      在CentOS7版本系统上,配置文件的路径和命令都已经发生改变,需要重新进行配置。

    【解决方案】

      本文还是以Eureka服务为例,来说明在CentOS7系统中如何设置该服务的开机自启动。

      1.在任意目录下,创建一个启动服务的shell脚本文件( 名字可以随意取,这里就以eurek.sh为例说明 );

      注意:脚本文件不要在 /etc/init.d 目录下,如果该目录下面有就删除掉,否则可能会产生冲突导致自启动无效。

      文件的内容如下: 仅供大家参考(你们写的启动服务的脚本要根据你们服务的实际命令和路径来写)

            #!/bin/bash

            # chkconfig:2345 10 90
            # description: eureka service ...
               start(){
                 echo "-----------准备启动Eureka服务----------"

          # 进入到eureka的安装目录:
                     cd /opt/eureka/

            # 设置一下 linux系统的JAVA环境变量和Path路径:
                         export JAVA_HOME=/usr/lib/jvm/jdk1.8
                      export PATH=$JAVA_HOME/bin:$PATH
                      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

         # 在后台启动 eureka服务:
                 nohup java -jar com.xxxx-xxx-xxxxxx-0.0.1-SNAPSHOT.jar > nohup.out &
              echo "-----------完成启动Eureka服务------------"
            }
            case $1 in
            start):
            start
            ;;

           stop):
           echo "--------------------stop...-------------------"
            ;;
           esac

           exit 0

      说明:1) shell脚本编写完成后,请在机器上执行一下,确认该脚本是可以正常启动eureka的jar包服务的.

         2) 启动后, 可以通过 ps -ef|grep java(或服务) 命令来查看需要启动的java进程(或服务)是否已经正常启动.

      

      2. 在 /usr/lib/systemd/system 目录下面创建一个xxx.service的文件;

      注意:xxx.service文件不要放在 /etc/systemd/system 目录下,如果该目录下面有就删除,否则可能会产生冲突。

      文件的内容如下: 仅供参考

      [Unit]

        Description=The eureka.jar service
        After=network.target remote-fs.target nss-lookup.target

       [Service]

        Type=forking
        ExecStart=/opt/eureka/eureka.sh start
        ExecReload=/bin/kill -s HUP $MAINPID
        ExecStop=/opt/eureka/eureka.sh stop
        PrivateTmp=True

       [Install]

        WantedBy=multi-user.target

     3.  使用systemctl  enable  xxx.service 命令,把服务添加到linux系统的自启动服务列表中去;

     4.  使用systemctl  status  xxx.service 命令,查看是否添加成功。

  • 相关阅读:
    Chrome浏览器的下拉选择框option有黑框的问题
    修改input checkbox和radio默认样式
    VsCode安装cssrem插件实现px转rem
    js实现小球的弹性碰撞
    CSS 技巧 -- 不定宽溢出文本适配滚动
    记忆化递归和递推
    DOM事件中target和currentTarget的区别
    TypeScripy + Vue Property Decorator + Vue Router,组件内的导航守卫无效
    行内元素没有内容时设置默认的宽高
    焦点元素,添加半透明遮罩
  • 原文地址:https://www.cnblogs.com/heyi-77/p/8717843.html
Copyright © 2011-2022 走看看