RT,配置参数为
upstream h39_server { server x.x.x.39; } ... location ~ ^/h39 { proxy_redirect off; proxy_pass http://h39:8080; }
小文件都正常,大文件可以获得返回的头,200正常,content-length也都有,就是无法读取数据,阻塞住了。是不是有什么参数需要指定?
应该是buffer的缘故,增加以下配置就好了
proxy_buffering off;
先查看下x.x.x.39下面nginx的错误日志,如果你没自定义路径,则位于/path/to/nginx_install_root/logs目录下面的error.log。然后根据错误来尝试解决,如果没打开error log则先打开一下。
/path/to/nginx_install_root/logs
不能完全确认是否是以下问题,可以尝试一下。如果错误日志中发现如下错误:
2013/12/19 04:10:26 [crit] 21911#0: *65059 open() "/usr/local/server/nginx/fastcgi_temp/3/58/0000001583" failed (13: Permission denied) while reading upstream, client: 1.93.255.38, server: example.com, request: "GET /js/get_scripts.js.php?token=a08a84b3c2426dcb913c79cc112...
Nginx的fastcgi_temp目录权限错误,nginx子进程(worker process; master进程是root账户下运行的,但是所有的worker进程是根据nginx配置文件的user账户下运行的)无法进行写入。我突然想起来不久前曾经改过目录权限。
知道了原因解决就简单了,我的nginx user配置是www:www,改下fastcgi_temp目录权限就好了:
chown -R www:www ./fastcgi_temp
楼主这个问题解决了吗?怎么处理的
应该是buffer的缘故,增加以下配置就好了
先查看下x.x.x.39下面nginx的错误日志,如果你没自定义路径,则位于
/path/to/nginx_install_root/logs
目录下面的error.log。然后根据错误来尝试解决,如果没打开error log则先打开一下。不能完全确认是否是以下问题,可以尝试一下。如果错误日志中发现如下错误:
问题原因
Nginx的fastcgi_temp目录权限错误,nginx子进程(worker process; master进程是root账户下运行的,但是所有的worker进程是根据nginx配置文件的user账户下运行的)无法进行写入。我突然想起来不久前曾经改过目录权限。
问题解决
知道了原因解决就简单了,我的nginx user配置是www:www,改下fastcgi_temp目录权限就好了:
楼主这个问题解决了吗?怎么处理的