zoukankan      html  css  js  c++  java
  • centos7设置程序开机启动方案

    /usr/lib/systemd/system下编辑需要自动启动的服务文件,例如

    touch /usr/lib/systemd/system/mysql.service
    

    重新加载配置自启配置文件,设置开机自启

    systemctl reload *.service
    systemctl enable mysql.service
    
    systemctl常见命令:
    systemctl is-enabled servicename.service #查询服务是否开机启动
    systemctl enable *.service #开机运行服务
    systemctl disable *.service #取消开机运行
    systemctl start *.service #启动服务
    systemctl stop *.service #停止服务
    systemctl restart *.service #重启服务
    systemctl reload *.service #重新加载服务配置文件
    systemctl status *.service #查询服务运行状态
    systemctl --failed #显示启动失败的服务
    

    配置文件说明

    [Unit]:服务的说明
    Description:描述服务
    After:描述服务类别
    
    [Service]            服务运行参数的设置
    Type=forking         后台运行的形式
    ExecStart            启动命令
    ExecReload           重启命令
    ExecStop             停止命令
    PrivateTmp=True      服务分配独立的临时空间
    User=root
    Group=root
    
    [Install]            
    WantedBy=multi-user.target   服务安装相关设置,可设置为多用户
    

    一、mysql开机自启(手动安装的mysql)

    [Unit]
    Description=MySQL Server(5.7.32)
    Documentation=main:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    
    [Install]
    WantedBy=multi-user.target
    
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/opt/mysql/mysql-5.7.32/bin/mysqld --user=root
    LimitNOFILE=5000
    

    二、activemq开机自启
    如果java是手动安装的,则必须在启动脚本或停止脚本中添加JAVA_HOME路径,如果不添加,不管是否设置了java环境变量都会报错;如果使用包安装,则不存在此问题

    
    [Unit]
    #服务描述
    Description=activemq Service
    #设置在某个服务启动后启动
    After=network.target
    
    [Service]
    #后台运行的形式
    Type=forking
    #启动命令,执行该脚本
    ExecStart=/opt/mqtt/activemq/bin/startup-script/start-activemq.sh
    #停止命令,执行该脚本
    ExecStop=/opt/mqtt/activemq/bin/startup-script/stop-activemq.sh
    #启动失败时,执行重启命令
    Restart=on-failure
    PrivateTmp=true
    User=root
    Group=root
    
    [Install]
    WantedBy=multi-user.target
    

    activemq启动脚本

    #!/bin/sh
    export ACTIVEMQ_HOME=/opt/mqtt/activemq
    export JAVA_HOME=/opt/java/java_180
    
    sh $ACTIVEMQ_HOME/bin/activemq start
    

    activemq停止脚本

    #!/bin/sh
    export ACTIVEMQ_HOME=/opt/mqtt/activemq
    export JAVA_HOME=/opt/java/java_180
    
    sh $ACTIVEMQ_HOME/bin/activemq stop
    

    三、keycloak 开机自启

    
    [Unit]
    #服务描述
    Description=keycloak Service
    #设置在某个服务启动后启动
    After=network.target mysql.service
    
    [Service]
    #后台运行的形式
    Type=forking
    #启动命令,执行该脚本
    ExecStart=/opt/keycloak/keycloak/bin/startup-script/start-keycloak.sh
    #停止命令,执行该脚本
    ExecStop=/opt/keycloak/keycloak/bin/startup-script/stop-keycloak.sh
    #启动失败时,执行重启命令
    Restart=on-failure
    PrivateTmp=true
    User=root
    Group=root
    
    [Install]
    WantedBy=multi-user.target
    
    

    keycloak 启动脚本

    #!/bin/sh
    
    export JAVA_HOME=/opt/java/java_180
    export KEYCLOAK_HOME=/opt/keycloak/keycloak
    
    sh $KEYCLOAK_HOME/bin/standalone.sh &
    

    keycloak 停止脚本

    #!/bin/sh
    kill -9 $(ps aux | grep /opt/keycloak/keycloak/standalone | awk 'NR==1{print $2}')
    

    四、tomcat开机自启,如果java是yum安装则,启动脚本和停止脚本可以不用写,配置的时候直接在启动和停止的地方写startup.sh和shutdown.sh的绝对路径就OK

    [Unit]
    #服务描述
    Description=Tomcat Service
    #设置在某个服务启动后启动
    After=network.target mysql.service activemq.service
    
    [Service]
    #后台运行的形式
    Type=forking
    #启动命令,执行该脚本
    ExecStart=/opt/tomcat/startup-script/start-tomcat
    #停止命令,执行该脚本
    ExecStop=/opt/tomcat/startup-script/stop-tomcat
    #启动失败时,执行重启命令
    Restart=on-failure
    PrivateTmp=true
    User=root
    Group=root
    
    [Install]
    WantedBy=multi-user.target
    
    

    tomcat启动脚本

    #!/bin/sh
    
    export JAVA_HOME=/opt/java/java_180
    TOMCAT_HOME=/opt/tomcat/tomcat
    
    sh $TOMCAT_HOME/bin/startup.sh
    

    tomcat停止脚本

    #!/bin/sh
    
    export JAVA_HOME=/opt/java/java_180
    TOMCAT_HOME=/opt/tomcat/tomcat
    
    sh $TOMCAT_HOME/bin/shutdown.sh
    
  • 相关阅读:
    java 常用第3方工具
    反射与内省
    UDP通讯协议实例
    多线程及线程并发库Executors
    Deque 双端队列 Stack 堆栈
    Collections工具类
    Map 接口
    PHP控制电脑重启 关机
    ThinkPHP框架研究之一 基本函数 M和D的区别
    textarea输入输出的处理
  • 原文地址:https://www.cnblogs.com/InternetJava/p/15731347.html
Copyright © 2011-2022 走看看