2012-04-07 5 views
0

Ich kann meine Seite nicht auf Port 80, sondern nur auf 3000 starten. Nginx zeigt die Standard-Indexseite. Nginx config:Wie starte ich die App auf nginx auf Port 80

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; 
    } 

} 

Befehle:

passenger start -e production # successfully started on port 3000 

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

Fehler:

*** 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 

Vielen Dank für jede Hilfe!

Antwort

1

Ich glaube, Sie brauchen einen location für Ihren Server auf Port 80, um so etwas zu spezifizieren:

http { 
    # ... 

    server { 
    listen 80; 
    server_name www.my_site_name.com 

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

Als jdl weist darauf hin, Sie auch nicht tun muss Passenger Standalone laufen. Sie benötigen keinen dieser Befehle. Nginx wird es für Sie servieren.

1

Ok, Ihre ursprüngliche Konfiguration ist richtig ... so diesen Befehl ausführen Rails-Anwendung zu starten:

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