作为一个开发,项目现在一般都是部署在虚拟机上的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上的程序是否启动

linux 设置开机自动启动应用的更多相关文章

  1. linux设置开机自动启动

    有很多中方法,这里只取最简单的一种: 把启动命令放到/etc/rc.d/rc.local文件里这样就可以每次启动的时候自动启动服务了, 注意给rc.local执行权限

  2. linux设置开机服务自动启动/关闭自动启动命令

    linux设置开机服务自动启动/关闭自动启动命令 2012-02-06 15:13 [root@localhost ~]# chkconfig --list     显示开机可以自动启动的服务[roo ...

  3. 为 suse linux 设置程序自动启动

    1.suse linux 程序自动启动 在部署面安装的的时候,重启之后需要去tomcat/bin/startup.sh 下面去执行启动脚本. 设置开机自动启动该服务    在 vim   /etc/i ...

  4. linux服务开机自动启动

    zookeeper设置开机自动启动 第一种:直接修改/etc/rc.d/rc.local文件 在/etc/rc.d/rc.local文件中需要输入两行,其中export JAVA_HOME=/usr/ ...

  5. CentOS设置开机自动启动某服务

    CentOS设置开机自动启动某服务   这里以启动sshd服务为例:   查看sshd是否已经是系统服务:   # chkconfig --list |grep sshd 会显示:  sshd     ...

  6. centos下安装memcached并设置开机自动启动-两种方法

    方法一: 安装memcachedyum install memcached 启动服务并初始化service memcached start -p 11211 -l 127.0.0.1 -d 设置mem ...

  7. Mongodb 启动关闭脚本并设置开机自动启动Mongodb

    配置文件内容:[root@yoon etc]# cat mongod.conf logpath=/export/log/mongodb.loglogappend=truefork = truedbpa ...

  8. linux svn开机自动启动服务

    SVN设置开机自动启动 usr/lib/systemd/system/添加svn.service文件 home/sdbdatasvn/svnrepos(换成绝对路径) 如果出现权限问题,请chmod  ...

  9. CentOS 7.6 RPM 方式安装Oracle19c 后 使用 systemd 的方式设置开机自动启动Oracle数据库

    1. 方法简介: 使用systemd 来进行 oracle数据库的启动和关闭操作. 使用的脚本为 lsnrctl和dbstart 2. 修改事项. 需要先修改一下 oracle 的启动脚本配置: vi ...

随机推荐

  1. zabbix之模板制作(memcache redis)

    #:找一台主机安装redis和memcached(记得安装zabbix-agent) root@ubuntu:~# apt install redis root@ubuntu:~# apt insta ...

  2. tomcat 之 httpd session stiky

    # 注释中心主机 [root@nginx ~]# vim /etc/httpd/conf/httpd.conf #DocumentRoot "/var/www/html" #:配置 ...

  3. js格式化合计金额

    var summoney=1040.010400000000000001; var totalMoney=parseFloat(summoney).toFixed(2); var arry=total ...

  4. 测试JDBCUtils的重用性

    package cn.itcast.jdbc;import cn.itcast.util.JDBCUtils;import java.sql.*;import java.util.Properties ...

  5. 【划重点】Python pandas简介

    一.pandas获取Excel表单的两种方式 import pandas as pd df1 = pd.DataFrame(pd.read_excel(r'C:\Users\ASUS\Desktop\ ...

  6. iOS-启动项目(一)设置 rootViewController

    摘要 刚创建一个新的项目,在 AppDelegate 中设置 rootViewController 来确定应用的首页是一个最基本的处理,因为是不常操作的处理,所以容易忽略其中的某个步骤,导致无法设置成 ...

  7. Three.js 实现3D全景侦探小游戏🕵️

    背景 你是嘿嘿嘿侦探社实习侦探️,接到上级指派任务,到甄开心小镇调查市民甄不戳宝石失窃案,根据线人流浪汉老石‍提供的线索,小偷就躲在小镇,快把他找出来,帮甄不戳寻回失窃的宝石吧! 本文使用 Three ...

  8. Linux_ShellCode总结

    在寄存器都是非理想值情况下(shellcode可根据环境具体触发时寄存器的值做长度调整),我本着最优通用的原则,整理了Linux下32位和64位最短通用shellcode的编写. 32位 有" ...

  9. [BUUCTF]REVERSE——findit

    findit 步骤: apk文件,直接用apkide打开,找到findit文件 查看了所有的函数,没找到有关flag的线索,但是找到了一串奇怪的16进制 将第一串转换一下,感觉第二串应该是flag 拿 ...

  10. Sentinel-Go 源码系列(三)滑动时间窗口算法的工程实现

    要说现在工程师最重要的能力,我觉得工程能力要排第一. 就算现在大厂面试经常要手撕算法,也是更偏向考查代码工程实现的能力,之前在群里看到这样的图片,就觉得很离谱. 算法与工程实现 在 Sentinel- ...