• linux 设置开机自动启动应用


      作为一个开发,项目现在一般都是部署在虚拟机上的linux,数据库也是按照在l虚拟机上的linux,一旦关机了,在开机程序都没打开,又要一个个去开,很麻烦,所以现在我现在使用supervisor去做一个守护进程,然后项目就托管在supervisor上,然后开机让supervisor启动就可以了。

      一般的,很多人会使用单元服务的形式去实现,首先在/etc/systemd/system或/lib/systemd/system目录(可能需要使用软连接)下创建一个service文件,如:  

      [Unit]
      Description=Supervisor process control system for UNIX
      Documentation=http://supervisord.org
      After=network.target
    
      [Service]
      ExecStart=/usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
      ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
      ExecReload=/usr/bin/supervisorctl -c /etc/supervisor/supervisord.conf $OPTIONS reload
      KillMode=process
      Restart=on-failure
      RestartSec=50s
    
      [Install]
      WantedBy=multi-user.target

      然后就可以启用了:  

        #先看supervisor.service是否已经加到开机启动
        sudo systemctl is-enabled supervisor.service
        #添加
        sudo systemctl enable supervisor.service
        #验证
        sudo systemctl is-enabled supervisor.service

      下面介绍的是使用rc.local文件启动的方式:

      ubuntu
      ubuntu开机自启有多种方式,我采用下面的方式:  

        # 编辑/etc/rc.local文件,其实/etc/rc.local只是个会在开机时执行的脚本
      sudo vim /etc/rc.local
      # 在exit 0 之前加入以下命令,下面是我的supervisord的启动命令路径:/usr/bin/supervisord
      sudo /usr/bin/supervisord
      #保存并退出就可以了。

      

      CentOS

      centos当然也可以使用开机执行脚本的方式来启动,因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权,如:  

        #因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权
      sudo chmod +x /etc/rc.d/rc.local
      #打开/etc/rc.d/rc.local,添加启动项,下面是我的supervisor在centos上的可执行文件路径
      sudo /bin/supervisord
      #保存并退出就可以了。

      

      关机后在开机,可通过进程程序是否启动:ps -ef | grep supervisord

      或者查看自己托管在supervisor上的程序是否启动

  • 相关阅读:
    软件测试之测试需求
    如何做页面测试
    如何做查询测试
    如何做报表测试
    SQL server(一)变量的定义
    SQLserver中事务的使用
    Asp.Net MVC中使用中间件对要访问的页面进行Session判断
    python之numpy使用(一)
    SQL Server存储过程的简单使用
    SQLServer游标的简单使用
  • 原文地址:https://www.cnblogs.com/shanfeng1000/p/11912627.html
Copyright © 2020-2023  润新知