gpt4 book ai didi

python - UWSGI + NGINX 502 错误网关

转载 作者:行者123 更新时间:2023-12-04 18:34:24 25 4
gpt4 key购买 nike

我有一个 Web.py 应用程序并希望将其投入生产。
根据 Web.py 社区的建议,我决定为此使用 uWSGI 和 Nginx。

我的应用程序使用 Memcached 进行 session 存储,使用 MySQL 进行其他存储任务。该应用程序在我的 MacBook 上运行良好。
我之前配置了 uWSGI + Nginx 设置,效果很好。但是当我尝试访问我的 Ubuntu 服务器上的索引页面时,我会收到 502 Bad Gateway。
但是:当进入另一个页面时,我收到了我想要的所有内容。
一般来说,该应用程序在 Ubuntu 环境中运行良好,因为我通过键入 python app.py 8080 对其进行了测试。 .我能够进入 page.tld:8080/并接收所有内容。

我的 uWSGI 配置:

[uwsgi]
gid = www-data
uid = www-data
vhost = true
plugins = python
logdate
#socket = /tmp/uwsgi_vhosts.sock
socket = 127.0.0.1:3031
master = true
processes = 1
harakiri = 120
limit-as = 128
memory-report
no-orphans

Nginx 配置:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

# Make site accessible from http://localhost/
server_name page.tld;

location / {
include uwsgi_params;


uwsgi_pass 127.0.0.1:3031;

# This is the absolute path to the folder containing your application
uwsgi_param UWSGI_CHDIR /var/www/page.tld/apps;

# This is actually not necessary for our simple application,
# but you may need this in future
uwsgi_param UWSGI_PYHOME /var/www/page.tld/apps;

# This is the name of your application file, minus the '.py' extension
uwsgi_param UWSGI_SCRIPT test;
}

我不断在 uWSGI 的 vhosts.log 中看到这些行:
libgcc_s.so.1 must be installed for pthread_cancel to work
- DAMN ! worker 1 (pid: 1281) died, killed by signal 6 :( trying respawn ...
- Respawned uWSGI worker 1 (new pid: 1330)
Please let me know if you need to see other parts of the configuration.

以及 nginx 的 error.log 中的这些行:
[error] 1233#0: *1 upstream prematurely closed connection while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: page.tld, request: "GET / HTTP/1.1", upstream: "uwsgi://127.0.0.1:3031", host: "page.tld"

让我知道是否需要任何其他日志来解决此问题。

更新:当我想访问一个必须从 MySQL 数据库加载内容的页面时,我似乎得到了 502 Bad Gateway。但是由于它在没有 uWSGI 和 NGINX 的情况下工作,我猜 nginx 在尝试从数据库加载内容时会出于某种原因杀死 uwsgi 实例。

最佳答案

我最近通过在 uwsgi 中设置更高的内存限制来解决这个问题。您将需要重新启动 uwsgi。我在启动时运行 uwsgi Emperor。所以,就我而言,我重新启动了。

[uwsgi]
...
limit-as = 512

系统:
  • Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-43-generic x86_64)
  • mysqlclient==1.3.6
  • 关于python - UWSGI + NGINX 502 错误网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28770972/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com