4

我刚刚在AWS EC2上将我的nginx从1.4.2(/ usr/local)升级到了1.4.7(yum)。我现在有一对错误发生在客户端:application.css和application.js net :: ERR_CONTENT_LENGTH_MISMATCH

GET https://subdomain.mysite.com/assets/application.css net::ERR_CONTENT_LENGTH_MISMATCH 
GET https://subdomain.mysite.com/assets/application.js net::ERR_CONTENT_LENGTH_MISMATCH 

我对此感到不知所措,谷歌并没有太多的帮助。任何想法从哪里开始?所有帮助赞赏。从手动安装到yum安装的切换是否会成为问题?

回答

9

我可以确认答案1解决了潜在的问题(我是一个新的SE用户,所以我不能upvote它呢)。下面是更多的搜索引擎的细节:

/var/log/nginx/error.log

2014/04/30 08:07:48 [crit] 35135#0: *116437 open() "/var/lib/nginx/proxy/7/09/0000001097" failed (13: Permission denied) while reading upstream 

在我的情况下发生这种情况,因为我最近改变了其下的nginx运行(默认nginx的配置在/etc/nginx/nginx.conf使用www-data)的用户。

我的解决方案是chown -R correct_user:root /var/lib/nginx/proxy。我想我也可以有rm -rf'd现有的/var/lib/nginx/proxy子目录,并期望nginx会使用correct_user作为所有者来重新创建它们。

埃里克弗朗西斯感谢您计算出来!这很容易救了我一整天的狩猎。

+0

哇,谢谢。这需要我很多年才能找到。 –

3

好的,这可以通过几种方法解决。要做的事情是检查你的日志文件。

该矿位于/usr/share/nginx/log/error-appname.log

尾日志,你会发现在你的配置文件中定义的用户(我的是在/etc/nginx/nginx.conf)最有可能没有权限来的东西。我使用用户nobody

对于一个应用程序,我必须将u+rx(nginx需要可执行文件)提供给我的应用程序用户的个人文件夹,直到我的应用程序的公共资产目录。

在另一台服务器上,nobody无法写入nginx的/var/lib/nginx/tmp/proxy文件夹。所以我不得不chown nobody /var/lib/nginx下降到/proxy文件夹nobody试图写入。

7
tail -f /usr/local/var/log/nginx/error.log 

您可能会看到类似这样的:

“的/ usr /本地的/ var /运行/ nginx的/ proxy_temp那/ 9/04/0000000049” 失败(13: 权限被拒绝),而读上游

我怎么继承人固定:

sudo nginx -s stop 
sudo rm -rf /usr/local/var/run/nginx/* 
相关问题