我的堆栈是带有 gevent 循环、flask、mysql 和 python mysql.connector 的 uWSGI,我可以进行异步 mysql 查询。Lateley 运行查询时,我在 nginx 日志中收到以下错误。完成查询最多可能需要 60 秒。在堆栈之外,查询有效。当我在笔记本电脑上本地使用内置的烧瓶开发服务器运行并在世界各地访问 mysql 服务器时......它可以工作。所以..我假设一个 nginx 配置问题。
2013/01/05 01:49:48 [error] 7267#0: *2878 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: 127.0.0.1, request: "GET /ajax_grid?date_from=2013-01-02&date_to=2013-01-04&rt=crpr&a_dhx_rSeed=1357350534901 HTTP/1.1", upstream: "uwsgi://127.0.0.1:6000", host: "test.com", referrer: "http://test.com/"
以下是我对 nginx 的相关选项。我应该如何调整才能不出现错误?
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
keepalive_requests 100000;
types_hash_max_size 2048;
proxy_read_timeout 200;
reset_timedout_connection on;
client_body_timeout 60;
send_timeout 2;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
server {
listen 80;
server_name 127.0.0.1;
location / {
include uwsgi_params;
uwsgi_buffering off;
#uwsgi_param X-Real-IP $remote_addr;
#uwsgi_param Host $http_host;
#uwsgi_pass uwsgi_dashboard;
uwsgi_pass 127.0.0.1:6000;
}