/ 中存储网

配置Nginx反向代理需要注意的问题汇总

2013-09-06 15:35:40 来源:IT技术网

MYPM演示环境 中当下载大的附件,或是页面中有大图片时,就会下载中断或是图版无法显示 也许你要说我用的nginx缺省的设置没碰到这问题,那是因为你的网站没大文件查看 nginx 日志failed (13: Permission denied) while reading upstream

怪了为什么说没权限呢,当时这问题搞了2个多小时,在这期间不得不用tomcat当代理服务器 引出了贴子

一个意外把tomcat 当代理服务器用  http://blog.csdn.net/MYPM_AndyLiu/archive/2011/01/21/6156839.aspx

且看下面是我这MYPM配的nginx反向代理

    location /mypm {

            root /home/mypmcc/mypm20100914;            

            index  index.jhtml index.html login_page.jhtml;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header   Host $host;

            proxy_pass http://127.0.0.1:8080 ;

            client_max_body_size     100m;

            client_body_buffer_size  128k;

            proxy_connect_timeout    600;

            proxy_read_timeout       600;

            proxy_send_timeout       6000;

            proxy_buffer_size        32k;

            proxy_buffers            4 64k;

            proxy_busy_buffers_size 128k;

            proxy_temp_file_write_size 512k;

          }

   nginx 反向代理参数说明

    proxy_connect_timeout 600;              #nginx跟后端服务器连接超时时间(代理连接超时)

    proxy_read_timeout    600;              #连接成功后,后端服务器响应时间(代理接收超时)

    proxy_send_timeout    600;              #后端服务器数据回传时间(代理发送超时)

    proxy_buffer_size     32k;              #设置代理服务器(nginx)保存用户头信息的缓冲区大小

    proxy_buffers         4 32k;            #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置

    proxy_busy_buffers_size  64k;           #高负荷下缓冲大小(proxy_buffers*2)

    proxy_temp_file_write_size  64k;       #设定缓存文件夹大小,大于这个值,将从upstream服务器传

 问题就出在proxy_temp_file_write_size上,当你的文件超过该参数设置的大小时,nginx会先将文件写入临时目录(缺省为nginx安装目下/proxy_temp目录),

   缺省nginx是以nobody身份启动的,用ls -al 命令查看proxy_temp目录 nobody是proxy_temp目录的所有者,怪了那为什么没权限呢,接下来我查看proxy_temp的父目录既nginx安装目录。发现 nobody竞然没权限,怪不得会出上面的问题

然后设置任何人都可以写 proxy_temp目录,再重启示nginx解决