在测试机上部署项目(supervisor + nginx负载均衡)
在测试机上部署tornado项目,测试机为centOS系统
- 在测试机上clone项目 clone 目标分支,git init, git clone {url}, 在测试机中位置一般为 /opt/sites;
- 配置supervisor 位置为 /etc/supervisord.d, 在这个位置添加 projectname.ini, 这个ini文件会在supervisord.conf中被读取;
- 配置nginx 位置为 /etc/nginx/conf.d, 在这个目录中添加projectname.conf
- 项目更新后,在git目录 git pull 然后 supervisorctl reload 重启supervisor;
supervisor配置 ini文件实例
[program:item_detection1]
command=/usr/local/bin/python /opt/sites/item_dectection/webapp.py --port=%(process_num)d --log_file_prefix=/opt/log/item_detection/item_detection.log --debug=True
process_name=%(program_name)s-%(process_num)d
directory=/opt/sites/item_dectection/
stopsignal=INT
user=root
numprocs=4
numprocs_start=8031
redirect_stderr=true
stdout_logfile=/opt/log/item_detection/item_detection.log
nginx配置 conf文件实例
upstream item_detection_frontends {
least_conn;
server 127.0.0.1:8031 max_fails=1 fail_timeout=300;
server 127.0.0.1:8032 max_fails=1 fail_timeout=300;
server 127.0.0.1:8033 max_fails=1 fail_timeout=300;
server 127.0.0.1:8034 max_fails=1 fail_timeout=300;
}
server {
listen 8030;
access_log /data/log/nginx/item_detection.access.log.main;
location / {
proxy_pass http://item_detection_frontends;
include "proxy_params";
}
}