2012-04-07 2 views
0

포트 80에서 사이트를 시작할 수는 없지만 3000에서만 사용할 수 있습니다. Nginx는 표준 색인 페이지를 표시합니다. 의 Nginx의 설정 :포트 80에서 nginx에서 레일 앱을 시작하는 방법

http { 
    passenger_root /home/my_user_name/.rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.11; 
    passenger_ruby /home/my_user_name/.rvm/wrappers/ruby-1.9.3-p125/ruby; 

    include  mime.types; 
    default_type application/octet-stream; 

    keepalive_timeout 65; 

    server { 
    listen 80; 
    server_name www.my_site_name.com 
    root /home/my_user_name/my_site_name/public; # <--- be sure to point to 'public'! 
    passenger_enabled on; 
    } 

} 

명령 :

passenger start -e production # successfully started on port 3000 

rvmsudo passenger start -e production -p 80 # error, see below 

오류 : 어떤 도움

*** ERROR *** 
The address 0.0.0.0:80 is already in use by another process, perhaps another 
Phusion Passenger Standalone instance. 

If you want to run this Phusion Passenger Standalone instance on another port, 
use the -p option, like this: 

    passenger start -p 81 

감사합니다!

답변

1

Nginx는 포트 80에서 수신 대기합니다. Passenger Standalone은 웹 서버없이 사용하기위한 것입니다. Nginx를 실행하는 경우에도 Passenger를 별도로 시작하지 마십시오. 당신은 또한 안, 밖으로 JDL 포인트로

http { 
    # ... 

    server { 
    listen 80; 
    server_name www.my_site_name.com 

    location/{ 
     root /home/my_user_name/my_site_name/public; 
     passenger_enabled on; 
    } 
    } 
} 

:

Docs for Passenger with Nginx

Docs for Passenger Standalone

1

나는 당신이 포트 80에 서버에 대한 location을 지정하려면이 같은 필요하다고 생각 여객 독립형을 운영해야합니다. 그 명령들 중 하나도 필요하지 않습니다. Nginx가 당신을 위해 그것을 제공 할 것입니다.

1

좋아, 초기 설정은 맞다 ... 그래서 레일 애플 리케이션 시작하려면이 명령을 실행

rvmsudo passenger start -e production -p 80 --user="TYPE HERE USERNAME FROM SSH" 
관련 문제