2011-08-14 2 views
5

rmagick으로 carrierwave gem을 설치했습니다.레일 3 + carrierwave + nginx = 사용 권한이 거부되었습니다.

로드 트로 WEBrick을 사용하면 좋지만, 대신 nginx를 사용하려고하면 500 Internal Server Error가 발생합니다.

의 nginx를하는 error.log는 말한다 :

또한 내가 포함 초기화 폴더에 파일을 생성 한
2011/08/14 10:06:40 [crit] 760#0: *4247 open() "/usr/local/Cellar/nginx/1.0.4/client_body_temp/0000000033" failed (13: Permission denied), client: 127.0.0.1, server: jewellery.dev, request: "POST /items/28?locale=en HTTP/1.1", host: "jewellery.dev:8080", referrer: "http://jewellery.dev:8080/items/28/edit?locale=en" 

:

CarrierWave.configure do |config| 
    config.permissions = 0777 
end 

내가 실종 무엇인가? 이것은 CarrierWave 관련이없는

답변

9

, Nginx에 당신의 Nginx의 과정 아무튼 의미 폴더 임시 업로드 된 파일을 /usr/local/Cellar/nginx/1.0.4/client_body_temp/에서 쓸 수 없다는됩니다 그것에 대한 권리가 없습니다. nginx를 실행하는 사용자가이 특정 경로에서 파일을 읽고 쓸 수 있는지 확인하십시오. 구성을 변경하지 않았다면 Nginx는 일반적으로 직원 nobody으로 작업자를 시작하므로이 폴더에 읽기/쓰기 액세스 권한을 부여 할 수 있습니다.

는 다음 명령을 실행

ps aux | grep "nginx: worker process" 

을 그리고 nginx를 실행하는 사용자를 참조하십시오.

+1

맞습니다. Maurício 감사합니다! 이걸 두 번 두 번이나 구해 줬어! 그냥'chown : /usr/local/Cellar/nginx/1.0.4/client_body_temp/' 그리고 작동합니다! :) –

+0

최신 버전의 nginx에서 폴더는 **/var/lib/nginx/body ** 일 수 있습니다. – Clark

관련 문제