加载中...

supervisor进程管理工具


Supervisor管理uwsgi

1.安装supervisor

yum install supervisor -y

2.通过命令生成supervisor的配置文件

echo_supervisord_conf > /etc/supervisord.conf

3.修改/etc/supervisord.conf的配置文件

# [program:xx]是被管理的进程配置参数,xx是进程的名称,自行修改
[program:xx]
# ;后面是注释信息!!!
# command=/root/Envs/jiatiao/bin/uwsgi --ini /opt/JiaTiao/uwsgi.ini  ; 程序启动命令
command=写入启动uwsgi的命令  ; supervisor其实就是在帮你执行命令而已
autostart=true       ; 在supervisord启动的时候也自动启动
startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
startretries=3       ; 启动失败自动重试次数,默认是3
# user=tomcat          ; 用哪个用户启动进程,默认是root
# priority=999         ; 进程启动优先级,默认999,值小的优先启动
# redirect_stderr=true ; 把stderr重定向到stdout,默认false
# stdout_logfile_maxbytes=20MB  ; stdout 日志文件大小,默认50MB
# stdout_logfile_backups = 20   ; stdout 日志文件备份数,默认是10
# ; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
# stdout_logfile=/opt/apache-tomcat-8.0.35/logs/catalina.out
stopasgroup=true     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true     ;默认为false,向进程组发送kill信号,包括子进程

4.启动supervisor,默认就会直接启动uwsgi了

supervisord -c /etc/supervisord.conf # 启动supervisor服务端,指定配置文件启动

# 启动完毕supervisor之后,检查进行信息
ps -ef | grep supervisor  # 检查supervisor是否存在进程是否启动

# 进入supervisor任务管理终端
看到如下结果,表示自定义的任务jiatiao,也就是uwsgi进行正确的启动了
[root@localhost JiaTiao]# supervisorctl 
jiatiao                          RUNNING   pid 80194, uptime 0:03:53
supervisor> 

补充:

# 在修改uwsgi时需要在虚拟环境下找到uwsgi的绝对路径
(jiatiao) [root@localhost conf.d]# which uwsgi
/root/Envs/jiatiao/bin/uwsgi

# 找到uwsgi.ini的绝对路径
(jiatiao) [root@localhost JiaTiao]# ls
apps  JiaTiao  jiatiaostatic  manage.py  requirements.txt  static  templates  uwsgi.ini
(jiatiao) [root@localhost JiaTiao]# pwd
/opt/JiaTiao
# 所以uwsgi.ini的绝对路径为:/opt/JiaTiao/uwsgi.ini

# 因此启动项目 uwsgi的完整绝对路径命令是
/root/Envs/jiatiao/bin/uwsgi --ini /opt/JiaTiao/uwsgi.ini

# 修改supervisor的配置文件
[program:xx]
command=/root/Envs/jiatiao/bin/uwsgi --ini /opt/JiaTiao/uwsgi.ini  ; 程序启动命令
autostart=true       ; 在supervisord启动的时候也自动启动
startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
startretries=3       ; 启动失败自动重试次数,默认是3
stopasgroup=true     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true     ;默认为false,向进程组发送kill信号,包括子进程

yum安装mysql应用

# --- 1.更换dns解析地址。
# 如网速下载慢更换dns
vim /etc/resolv.conf
# 填入以下地址,两个都是阿里的dns
nameserver 223.5.5.5
nameserver 223.6.6.6


# --- 2.安装mysql数据库
yum install mariadb-server mariadb -y


# --- 3.启动mysql
systemctl start mariadb
systemctl status mariadb

# --- 4.从windows中导出数据
mysqldump -uroot -p --database 数据库 > 文件名.sql  # 这行命令是在cmd中敲的!!!

# --- 5.发送此sql文件给linux,进行数据导入
mysql -uroot -p 数据库 < 文件名.sql  # 数据导入的命令,注意:linux需要提前创建相应的库!

文章作者: 无夜
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 无夜 !
评论
  目录