tonadoはsupervisor管理プロセスを使って、nginxを使って負荷の均衡を作ります。
2788 ワード
tonadoはsupervisor管理プロセスを使って、nginxを使って負荷の均衡を作ります。
配置
load banlancerとしてnginxを採用しています。 nginxを起動する時は、sites-availableディレクトリの下のdefaultに注意してください。inx.com fでincludeが不要になりました。このファイル システムによって対応するディレクトリが異なりますので、 に注意してください。
supervisorを使って管理します。
具体的にはプロファイルの構成を見ます。プログラムのロゴ:/home/opsys/log/detect-data-stdout.log supervisorのロゴ:/var/log/supervisor/supervisor.log nginx logs:/var/log/inx/ 参照
https://github.com/tornadoweb/tornado/wiki/Deployment
https://gist.github.com/didip/802561
http://gracece.com/2014/03/Tornado-supervisor+inx/
http://www.tornadoweb.org/en/stable/guide/running.html
第八章:https://github.com/alioth310/itt2zh/blob/master/ch8.html
配置
load banlancerとしてnginxを採用しています。
nginx , /etc/nginx/sites-avaiable/ , sites-enable
nginx include sites-enable 。
http{} include
upstream detect_data_server {
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
server 127.0.0.1:8004;
}
# Only retry if there was a communication error, not a timeout
# on the Tornado server (to avoid propagating "queries of death"
# to all frontends)
# proxy_next_upstream error; # this has been in nginx.conf
server {
listen 80;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://detect_data_server;
}
}
実行コマンド:sudo cp /home/opsys/running/detect-datacollect-server/deploy/detect-datacollect-server.conf
/etc/nginx/sites-available
sudo ln -s /etc/nginx/sites-available/detect-datacollect-server.conf
/etc/nginx/sites-enabled/detect-datacollect-server.conf
sudo service nginx start
注意:supervisorを使って管理します。
supervisor apt-get install
/etc/supervisor/conf.d/ 。 nginx ,supervisor
/etc/supervisor/supervisord.conf, include conf.d
:
; To take advantage of multiple cores, you'll need multiple processes.
[group:gp_detect_data]
programs=detect_data
[program:detect_data]
; environment=MODE="TEST" ; TEST for test environ.
command=python /home/opsys/running/detect-datacollect-server/code/app.py --port=80%(process_num)02d
process_name = %(program_name)s%(process_num)d
autorestart=true
redirect_stderr=true
stdout_logfile=/home/opsys/log/detect-data-stdout.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/home/opsys/log/detect-data-stderr.log
loglevel=info
numprocs = 4
numprocs_start = 1
実行コマンド:sudo cp /home/opsys/running/detect-datacollect-server/conf/supervisor/detect_data.conf
/etc/supervisor/conf.d/
sudo service supervisor start
ログディレクトリ具体的にはプロファイルの構成を見ます。
https://github.com/tornadoweb/tornado/wiki/Deployment
https://gist.github.com/didip/802561
http://gracece.com/2014/03/Tornado-supervisor+inx/
http://www.tornadoweb.org/en/stable/guide/running.html
第八章:https://github.com/alioth310/itt2zh/blob/master/ch8.html