2012-04-07 71 views
0

我無法在端口80上啓動我的站點,但只能在3000上運行.Nginx顯示標準索引頁面。 Nginx的配置:如何在端口80上的nginx上啓動rails應用程序

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

我認爲你需要在端口80上指定爲您的服務器location,是這樣的:

http { 
    # ... 

    server { 
    listen 80; 
    server_name www.my_site_name.com 

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

由於JDL指出,你也不要需要運行Passenger Standalone。你不需要這些命令。 Nginx將爲您服務。

1

好了,你的初始配置是正確的......所以運行此命令啓動Rails應用程序:

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