Назад | Перейти на главную страницу

Запуск приложения Tornado на доменном имени (без номера порта)

Могу ли я узнать, как запустить приложение Tornado на производственном сервере (ubuntu 10.04) и получить доступ к нему по доменному имени без номера порта в доменном имени?

Вот справочная информация

Расположение моего приложения торнадо: /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 по умолчанию.

После запуска приложения tornado, запустив python app.py, я могу получить доступ к своему приложению по адресу http://www.domain1.com:8888 Если я наберу попытку получить к нему доступ в http://www.domain1.com , то я увижу сообщение «Добро пожаловать в Nginx».

Есть ли способ получить доступ к своему приложению на http://www.domain1.com/ ?

Наилучшие пожелания.

Параметр server_name должен содержать имя хоста, а не URL. С вашим примером:

server_name www.domain1.com;

В документации Tornado есть пример с четырьмя экземплярами Tornado, работающими за nginx: http://www.tornadoweb.org/en/stable/guide/running.html