知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

记录nginx两种问题解决

发布时间:2014-09-05 14:18:55作者:知识屋

记录nginx两种问题解决
 
1: recv错误
 
[php] 
recv() failed (104: Connection reset by peer) while reading client request line  
发生这种问题,主要是因为网络问题,在迁移aizher.com 服务器过程中,碰到这样的问题,情况比较特殊,也是网络问题,但是不是网上描述本地网络端口冲突的问题。
出现这种问题原因是,西部数据的服务器上需要配置白名单,才能访问服务器,我之前只是做了DNS解析到西部数据的服务器上,
第一次客户端能够请到服务器上,但是,西部数据会马上把请求连接给重置,导致nginx提示连接充值,出现上述错误。
解决方案也很简单,直接在西部数据的服务器上添加白名单即可。(一开始知道白名单的事情,好长时间没搞,给忘记了)
2:js,图片被php执行。
在在迁移aizher.com 服务器过程中碰到的另外一个问题是,js,css,和图片被php执行(当然这是后来知道),一开始的时候,整个服务器的页面
都花掉了,页面样式全乱。并且是有些图片可以正常加载,而有的不能,png和jpg的都不能加载。当时因为是php配置问题,找了N久,没有找到原因。
后来
 
[php] 
error_reporting = E_ALL & ~E_NOTICE  
打开php的notice提示,发现,请求png图片时,报出php语法错误来,奇哉怪也,突然想到是nginx配置问题,所有的请求,都按php解析做的,原来的nginx配置是
[php] 
server_name *.aizher.com;  
        index index.html index.htm index.php;  
        root /home/admin/web/;  
   
        location /$ {  
                fastcgi_pass    127.0.0.1:9000;  
                fastcgi_index   index.php;  
                include fastcgi_params;  
                fastcgi_param   SCRIPT_FILENAME /home/admin/web/$fastcgi_script_name;  
        }  
找到原因后,调整如下
[php] 
server_name *.aizher.com;  
        index index.html index.htm index.php;  
        root /home/admin/web/;  
        if (!-e $request_filename) {  
                rewrite  ^(.*)$  /index.php?s=$1  last;  
        }  
   
        location ~ .*/.(php|php5)?$ {  
                fastcgi_pass    127.0.0.1:9000;  
                fastcgi_index   index.php;  
                include fastcgi_params;  
                fastcgi_param   SCRIPT_FILENAME /home/admin/web/$fastcgi_script_name;  
        }  
   
        location /status {  
                stub_status on;  
                access_log   off;  
        }  
   
        location ~ .*/.(gif|jpg|jpeg|png|bmp|swf)$  
        {  
                expires      30d;  
        }  
   
        location ~ .*/.(js|css)?$  
        {  
                expires      12h;  
        }  
也许你会问,为什么不把之前的nginx拷贝过来直接使用。原因是,
1:这台服务器上还有其他服务,nginx文件不能直接覆盖,之前是使用的lnmp,这个这台服务器,都是从头搭建,也没有使用fpm,所以...。
2:大意失荆州,太小看这个问题,以为很容易就能搞定。
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜