对于基于ubuntu的vps来说,采用的是nginx+supervisor+tornado来做。
1,安装tornado
wget https://pypi.python.org/packages/source/t/tornado/tornado-3.2.tar.gz
tar xvzf tornado-3.2.tar.gz
cd tornado-3.2
python setup.py build
sudo python setup.py install
2, 安装supervisor
sudo apt-get install supervisor
3,nginx与supervisor的配合
3.1,supervisor的设置
我把关于tornado的配置放在 /etc/supervisor/conf.d/tornado.conf ,这里假设端口为8001(注意supervisor的控制端口范围)
; supervisor.
[group:gisapp]
programs=gis-web
[program:gis-web]
command=python /var/www/app app.py #在app所在位置运行app.py,注意app.py中应该包含端口数;
#如app.py未含运行端口,用 command=python /var/www/app app.py --port=8001
directory=/var/www/app #app所在位置
autorestart=true
redirect_stderr=true
stdout_logfile=/var/www/app/gis_server-8001.log #log所在位置
stdout_logfile_maxbytes=500MB
stdout_logfile_backups=50
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
loglevel=warn
3.2,nginx的配置
把8001转到80端口
upstream gisserver{
server 127.0.0.1:8001;
}
server {
listen 80;
server_name YOUR_DOMAIN_NAME;
client_max_body_size 4M;
location ^~ /static/ {
root /var/www/app; #app static dir
if ($query_string) {
expires max;
}
}
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://gisserver;
}
}
重起nginx及supervisor
service supervisor restart
service nginx restart
网友评论