我正在尝试在 ec2 微型实例上设置 nginx、uwsgi、bottle.py。到目前为止,我已经安装了组件,并且 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.....
我读过“上游过早关闭”错误表明内存/cpu/资源问题?这是否与使用微实例并且没有足够的资源有关?但是唯一通过浏览器访问这个微实例的人是我。