1: recv错误
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久,没有找到原因。
后来
error_reporting = E_ALL & ~E_NOTICE打开php的notice提示,发现,请求png图片时,报出php语法错误来,奇哉怪也,突然想到是nginx配置问题,所有的请求,都按php解析做的,原来的nginx配置是
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; }找到原因后,调整如下
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:大意失荆州,太小看这个问题,以为很容易就能搞定。