Я пытаюсь настроить nginx, uwsgi, Bottle.py на микроэкземпляре ec2. На данный момент я установил компоненты, и nginx работает правильно, обслуживая тестовую страницу index.html. Если я остановлю сервер nginx и запущу тестовое приложение на внутреннем сервере разработки Python, оно также сработает.
Однако мой uwsgi не работает. Это мой файл «по умолчанию» в etc/nginx/site-enabled/. Я использую эластичный IP-адрес (xx.xx.xx.xx), прикрепленный к моему микроэкземпляру.
upstream _bottle {
server xx.xx.xx.xx:80;
}
server {
listen 80;
server_name xx.xx.xx.xx;
root /var/www/app;
location / {
try_files $uri @uwsgi;
}
location @uwsgi {
include uwsgi_params;
uwsgi_pass _bottle;
}
}
А вот мой конфигурационный файл uwsgi:
[uwsgi]
chdir = /var/www/app
master = true
plugins = python
file = index.py
uid = www-data
gid = www-data
Я также убедился:
sudo chown -R www-data:www-data /var/www/app
Когда я перезапускаю nginx и uwsgi и перехожу к эластичному IP-адресу в своем браузере, я получаю неверную страницу шлюза nginx.
Журнал ошибок nginx дает мне:
*1 upstream prematurely closed connection while reading response header from upstream, client.....
Я читал, что ошибка «преждевременно закрыт восходящий поток» указывает на проблемы с памятью/процессором/ресурсами? Это как-то связано с использованием микроэкземпляра и нехваткой ресурсов? Но единственный человек, который имеет доступ к этому микроэкземпляру через браузер, это я.