0

서버에 앱을 배포했습니다. (Rails 5, Passenger, Nginx) 내 응용 프로그램이 개발 모드로 작업 중입니다. 는하지만 난 생산에 내 모드를 변경하고이 오류 (/var/log/nginx/error.log) 가지고 :이 오류가 난 개발에 내 모드를 전환 한 후생산되지 않음 (Rails 5, Passenger, Nginx)

[ E 2017-11-10 20:11:03.9343 21613/Tb age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/rails/myapp: An error occurred while starting up predloader 
    Error ID: ca909334 
    Error details saved to: /tmp/passenger-error-iGQLnf.html 
    Message from application: cannot load such file -- /home/rails/myapp/config/environment (LoadError) 
    config.ru:3:in `require_relative' 
    config.ru:3:in `block in <main>' 
    /usr/local/lib/ruby/gems/2.3.0/gems/rack-2.0.3/lib/rack/builder.rb:55:in `instance_eval' 
    /usr/local/lib/ruby/gems/2.3.0/gems/rack-2.0.3/lib/rack/builder.rb:55:in `initialize' 
    config.ru:1:in `new' 
    config.ru:1:in `<main>' 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:110:in `eval' 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:110:in `preload_app' 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>' 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>' 
    /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>' 

합니다. 그리고 나는 다시 같은 오류가있어!

내 nginx를 파일 :

server { 
    listen 80; 
    server_name myapp.com www.myapp.com; 
    access_log off; 
    return 301 https://www.myapp.com$request_uri; 
} 

server { 

    listen 443 ssl; 

    ssl on; 
    ssl_certificate /etc/nginx/ssl/myapp.com/ssl-bundle.crt; 
    ssl_certificate_key /etc/nginx/ssl/myapp.key; 

    server_name myapp.com www.myapp.com; 
    passenger_enabled on; 
    rails_env production; 
    root /home/rails/myapp/public; 
    index index.html index.htm; 

} 

이 문제를 해결하는 데 도움이 필요!

+0

/tmp/passenger-error-iGQLnf.html에 저장 한 오류 세부 정보의 내용을 추가 할 수 있습니까? /tmp/passenger-error-iGQLnf.html –

+0

을 추가 할 수 있습니까? 모든 파일에서 앱 이름은입니다. 'myapp'어디 승객 - 어 - iGQLnf.html에서, 귀하의 애플 리케이션 이름은 'trbodybuilding'으로 표시됩니다. 이걸 설명 할 수 있니? 또한 승객의 구성 파일 내용을 추가하십시오. –

+0

을 추가 한 –

답변

1

그래서이 문제는 사용자가 잘못된 파일 사용 권한을 사용했기 때문에 발생했습니다.

Nginx는 app-directory의 파일을 읽을 수있는 권한이없는 www 데이터 사용자로 실행되었습니다. 그런 이유로 app-server의 부팅에 실패했습니다.

sudo chown -R www-data:www-data /home/rails/myapp 

위 명령을 사용하면 승객이 app-directory 파일을 읽을 수있게되고 성공적으로 시작됩니다.

관련 문제