【发布时间】:2011-12-07 00:44:55
【问题描述】:
我现在有一个由 nginx 提供的静态网站,我想在同一台服务器上使用 Tornado 开发一个应用程序。
Tornado 文档提到 wsgi 不支持非阻塞请求。
有没有办法让他们一起工作(在同一台服务器上)?
【问题讨论】:
标签: web-applications nginx tornado
我现在有一个由 nginx 提供的静态网站,我想在同一台服务器上使用 Tornado 开发一个应用程序。
Tornado 文档提到 wsgi 不支持非阻塞请求。
有没有办法让他们一起工作(在同一台服务器上)?
【问题讨论】:
标签: web-applications nginx tornado
当然可以。看看nginx.conf example on tornado's homepage。
在您的情况下,相关位是:
http {
# Enumerate all the Tornado servers here
upstream frontends {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}
...
server {
...
# for your "static" website
location ^~ /static/ {
root /var/www;
if ($query_string) {
expires max;
}
}
# for your tornado's app
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect false;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
}
...
}
...
}
【讨论】:
http://myserver/app、http://myserver/wp1、http://myserver/wp2。然后我重定向到指向,例如,http://wonderful-blog.com -> http://myserver/wp1。我希望它有意义。