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/* 
相關問題