一. 问题背景
由于之前项目是在ubuntu16.04环境下开发,但是上线环境为centos,所以重新踩坑以下supervisor 管理redis 和httpd过程。
二. 环境准备
需要的环境包括:python环境,redis环境,httpd环境,supervisor环境
- python环境通过安装miniconda,将python版本替换到了3.6;
- redis环境通过以下命令安装:
sudo yum install redis
- httpd环境通过以下命令安装:
sudo yum install httpd httpd-devel
- supervisor环境通过以下命令安装:
sudo yum install supervisor
三. 配置文件修改
- redis相关操作:第一步
- supervisor管理redis服务配置文件添加
cd /etc/supervisord.d/
sudo vim redis.ini
添加如下的内容:
[program:redis]
command=/usr/bin/redis-server /etc/redis.conf
autostart=true
autorestart=true
startsecs=10
redirect_stderr=true
stdout_logfile=/var/log/supervisor/redis
stderr_logfile=/var/log/supervisor/redis_error
stdout_logfile_maxbytes=0
- redis相关操作第二步:
- supervisor启动和重新加载配置文件
sudo supervisord -c /etc/supervisord.conf
sudo supervisorctl -c /etc/supervisord.conf
控制台内容如下:
redis STARTING
supervisor> status
redis RUNNING pid 860, uptime 0:00:13
supervisor> stop redis
redis: stopped
supervisor> start redis
redis: started
supervisor> status
redis RUNNING pid 865, uptime 0:00:15
- httpd相关操作第一步:
- 修改supervisor配置文件
cd /etc/supervisord.d/
sudo vim httpd.ini
添加如下的内容:
[program:apache2]
command=/usr/sbin/httpd -c "ErrorLog /dev/stdout" -DFOREGROUND
redirect_stderr=true
- httpd相关操作第二步:
- supervisor重启和加载配置文件
sudo supervisorctl -c /etc/supervisord.conf
redis RUNNING pid 865, uptime 0:42:19
supervisor> reread
apache2: available
supervisor> update
apache2: added process group
supervisor> status
apache2 RUNNING pid 879, uptime 0:00:03
redis RUNNING pid 865, uptime 0:42:32
四. 参考链接
参考链接
整体上感觉centos下面比ubuntu下面的配置简单太多。