在域名上启动 Tornado App(不含端口号)

在域名上启动 Tornado App(不含端口号)

请问如何在生产服务器(ubuntu 10.04)上启动 Tornado 应用程序并通过域名中没有端口号的域名访问它?

以下是背景信息

我的 Tornado 应用程序的位置: /srv/www/domain1.com/public_html/src 。

src/ 的目录结构为:

src/
   static/
   templates/
   app.py

我打算在我的服务器上托管多个 Tornado 应用程序,因此我将使用/etc/nginx/sites-enable/etc/nginx/sites-available功能。

在我的/etc/nginx/sites-available文件夹中,我创建了一个domain1.com.conf文件:

server {
    listen 80;
    server_name http://www.domain1.com;
    root /srv/www/domain1.com/public_html/src/static;


    location / {

        try_files $uri @tornado;
    }

    location @tornado {

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass       http://127.0.0.1:8888;
    }
}

之后,我创建了一个指向 /etc/nginx/sites-enabled 的符号链接。然后我重新启动了 nginx。

我没有改变默认的 nginx 配置文件。

通过运行 python app.py 启动 tornado 应用程序后,我可以访问我的应用程序http://www.domain1.com:8888 如果我输入尝试访问它http://www.domain1.com,那么我会看到“欢迎使用 Nginx”消息。

有没有办法可以访问我的应用程序http://www.domain1.com/

此致。

答案1

server_name 选项应包含主机名而不是 URL。使用您的示例:

server_name www.domain1.com;

Tornado 文档包含一个在 nginx 后面运行四个 Tornado 实例的示例:http://www.tornadoweb.org/en/stable/guide/running.html

相关内容