首先项目通过Git方式拉取代码至Ubuntu
我的/web/www/Formal
一、安装supervisor:
$ apt-get install supervisor
安装成功后,会在/etc/supervisor目录下,生成supervisord.conf配置文件。
二、配置项目地址
进入supervisor.conf
[unix_http_server]
file=/var/log/supervisor/supervisor.sock ; the path to the socket file
chmod=0770 ; socket file mode (default 0700)
chown=nobody:git ; socket file uid:gid owner
#username=root ; default is no username (open server)
#password=1234 ; default is no password (open server)
[supervisord]
logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10 ; # of main logfile backups; 0 means none, default 10
loglevel=info ; log level; default info; others: debug,warn,trace
pidfile=/var/log/supervisor/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=false ; start in foreground if true; default false
minfds=1024 ; min. avail startup file descriptors; default 1024
minprocs=200 ; min. avail process descriptors;default 200
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/log/supervisor/supervisor.sock ; use a unix:// URL for a unix socket
[program:Formal]
directory=/web/www/Formal ; 程序的启动目录
command=gunicorn -w 5 -b0.0.0.0:8800 -t 60 --worker-class=gevent Project.config.formal_wsgi ; 启动命令
startsecs=0 ; 启动 多少秒后没有异常退出,就当作已经正常启动了
stopwaitsecs=0
autostart=true ; 在 supervisord 启动的时候也自动启动
autorestart=true ; 程序异常退出后自动重启
user=user
[inet_http_server] ; 侦听在TCP上的socket,Web Server和远程的supervisorctl都要用到他
不设置的话,默认为不开启。非必须设置
port=*:9001 ; 侦听在TCP上的socket,Web Server和远程的supervisorctl都要用到他
不设置的话,默认为不开启。非必须设置
三、使用supervisorctl
Supervisorctl 是 supervisord 的一个命令行客户端工具,启动时需要指定与 supervisord 使用同一份配置文件,否则与 supervisord 一样按照顺序查找配置文件。
启动命令:
supervisorctl -c /etc/supervisord.conf
root@ip-172-31-29-24:/web/www/Formal# supervisorctl
Formal RUNNING pid 5673, uptime 14:30:22
supervisor> status
命令:
重启:restart 项目名
查看运行状态:status