0

저는 Paperclip을 사용하여 apache2, passenger, rails 3.2.3 및 ruby ​​1.9.3을 실행하는 Linux 우분투 10.04 서버로 파일 업로드를 처리하는 레일 응용 프로그램을 방금 배포했습니다.프로덕션 레일에 보관하지 못하는 클립 이미지

내 설정은 개발 과정에서 완벽하게 작동했지만 지금은 생산 이미지가 저장되지 않습니다.

레일즈가 파일 업로드를 처리하고 XSendFile을 사용하고 설치하기 위해 production.rb에서 다음 줄을 주석 처리했습니다.

# Specifies the header that your server uses for sending files 
    # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache 
    # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx 

내 picture.rb

attr_accessible :photo_file_name, :photo_file_size, :photo_content_type, :photo, :splash_image 
    validates_presence_of :photo_file_name, :photo_content_type, :photo_file_size 


    has_attached_file :photo, 
    styles: { 
     thumb: "150x150>" 
    }, 
     url: "/assets/splash_images/:id/:style/:basename.:extension", 
     path: ":rails_root/public/assets/splash_images/:id/:style/:basename.:extension" 

    validates_attachment_size :photo, :less_than => 25.megabytes 
    validates_attachment_content_type :photo, content_type: /image/ 

다른 사람이 갈 수 있는지 알고 있나요? 많은 감사

+0

러닝 생산에서 실행되지 않는 경우

추가]를 sudo를 함께 : 이미지 업로드 및 저장 얻으려면 성공적으로 나는과 같이 이미지 경로에 대한 쓰기 권한을 부여 또한 리눅스 서버에있는 Imagemagick를 설치했다 같은 기계에요? – Meduza

+0

당신은 localhost를 의미합니까? 아니,이 리눅스 VM웨어 서버에, 난 내 로컬 컴퓨터에서 프로덕션 모드로 응용 프로그램을 실행 havent – dodgerogers747

+1

당신은 파일을 업로드 할 때 production.log에서 로그를 게시 할 수 있습니다. – Meduza

답변

2

올바른 방향으로 나를 가리켜 주신 Meduza와 Hugo에게 감사드립니다. 루트

apt-get install imagemagick 
apt-get install libmagick9-dev 
gem install rmagick 

chmod -R 777 app/app_name/public/assets/image_folder 
3

ImageMagick이 기본 경로에 설치되어 있지 않으면 경로를 지정해야합니다. Windows 사용자의 이니셜이 같은 일을 할/paperclip.rb :

가 'rbconfig'is_windows = (RbConfig : CONFIG [ 'host_os를'] 필요 "클립"을 요구 = ~/mswin |와 Mingw | Cygwin에서 /)

Paperclip.options [: command_path] = 'C : \ ImageMagick를'is_windows 경우 Paperclip.options [: swallow_stderr] = 거짓

이 ImageMagick이 경로에 "확인"의 위치를 ​​찾아 여기에 넣으십시오. 물론, 거기에 리눅스 경로를 넣어야합니다. (/ usr/bin/...)

+0

안녕하세요 Hugo, 제 경로는 당신이 언급 한 것처럼 좋았습니다. 나는 단지 어떤 형태의 imagemagick을 설치하지 않았습니다! 또한 업로드 폴더에 대한 쓰기 권한이 없습니다! – dodgerogers747

관련 문제