Могу ли я узнать, как запустить приложение 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