4

난 그냥 1.4.7 (냠)에 1.4.2 (/ usr/지방)에서 내 nginx를 업그레이드 AWS EC2에 application.js. 이제 클라이언트 측에서 한 쌍의 오류가 발생했습니다.application.css 및 순 :: 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 

저는이 문제로 인해 많은 도움이되지 않았습니다. 어디에서 시작해야하는지에 대한 아이디어가 있습니까? 모든 도움을 주셨습니다. 수동 설치에서 냠 설치로의 전환이 문제가 될 수 있습니까?

답변

9

나는 대답 1 개 주소 기본 문제 (I 그래서 난 아직 upvote에없는 새로운 SE 사용자입니다)를 확인할 수 있습니다.

내 경우에는 내가 최근 nginx를 실행합니다 (기본의 nginx의 설정이 /etc/nginx/nginx.confwww-data 사용)하는 사용자를 변경하기 때문에 이런 일이에

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 

/var/log/nginx/error.log에서 다음은 검색 엔진에 대한 자세한 내용입니다.

내 솔루션 chown -R correct_user:root /var/lib/nginx/proxy이었다. 나는 또한 rm -rf은의 nginx가 correct_user 소유자로 사용하여 다시 것이라는 기대와 기존 /var/lib/nginx/proxy 하위 디렉토리를 거라고 할 수 상상한다. 이 문제를 파악하기위한

에릭 - 프란시스 감사합니다! 이것은 사냥의 날을 쉽게 구해 냈습니다.

+0

와우, 감사합니다. 그것을 발견하기 위해서는 나이가 들었을 것입니다. –

3

좋아, 이렇게 몇 가지 방법으로 해결할 수 있습니다. 할 일은 로그 파일을 확인하는 것입니다.

광산 (광산 /etc/nginx/nginx.conf에있다) 가장 가능성이 뭔가 권한이 없습니다 /usr/share/nginx/log/error-appname.log

꼬리에 로그를 위치했다 당신은 당신의 설정 파일에 정의 된 사용자를 찾을 수 있습니다. 사용자 nobody을 사용합니다.

한 응용 프로그램의 경우 응용 프로그램의 공용 자산 디렉토리에있는 모든 응용 프로그램 사용자의 홈 폴더에 u+rx (실행 가능 파일 필요)을 지정해야했습니다. 다른 서버에서

, 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 : 사용 권한이 거부 ) 상류 읽는 동안

나는 고정을 Heres 방법 :

sudo nginx -s stop 
sudo rm -rf /usr/local/var/run/nginx/*