2011-07-25 64 views
2

簡單問題,我如何將我的Rails應用程序部署到我的網站的某個端口?我知道我可以在使用Mongrel或Webrick運行時指定端口,但是這次我必須將其部署到生產環境中。我認爲乘客可以管理這個,但我不知道如何。我試過搜索,但仍然找不到解決方案。請幫忙:)在其他端口上部署Rails應用程序

謝謝!

後續步驟: 我使用的是Ubuntu 10.04 LTS,我的Passenger使用Apache運行。

+1

你也應該指定你使用的Linux發行版。 –

回答

0

如果您使用Passenger和Apache或nginx。它將使用默認端口80.您可以根據您使用的Web服務器在配置文件中更改此項。

+0

謝謝!我在Linux Ubuntu 10.04LTS上使用Apache,我應該修改哪些配置文件?我改變了我的/etc/apache2/ports.conf。我添加了Listen8080,並且還修改了我的sites-enabled/default,我在*:8080上添加了VirtualHost,但仍然無法訪問端口8080 :( –

0
# HTTPS server 
server { 
    listen 80; 
    listen 8080; 
    server_name *.host.com; 

    root /home/app/public_html/host_production/current/public; 

    error_page 500 502 504 /500.html; 
    location = /50x.html { 
     root html; 
    } 
    location = /404.html { 
     root html; 
    } 
    error_page 503 @503; 
    location @503 { 
    error_page 405 = /system/maintenance.html; 
    if (-f $document_root/system/maintenance.html) { 
     rewrite ^(.*)$ /system/maintenance.html break; 
    } 

    rewrite ^(.*)$ /503.html break; 
    } 

    try_files $uri /system/maintenance.html @passenger; 


    location @passenger { 
    passenger_enabled on; 
    passenger_min_instances 5; 
    rails_env production; 
    } 


    if ($request_method !~ ^(GET|HEAD|PUT|POST|DELETE|OPTIONS)$){ 
    return 405; 
    } 

    if (-f $document_root/system/maintenance.html) { 
    return 503; 
    } 


    location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ { 
     gzip_static on; 
     expires max; 
     add_header Cache-Control public; 
    } 


    location ~ \.php$ { 
      deny all; 
    } 


    access_log /dev/null; 
    error_log /dev/null; 
} 

nginx+passenger config

+0

謝謝mikhailov,但我需要Passenger配置Apache。 –

+0

因此您只需要幫助httpd configure?使用** Listen 80 Listen 8081 **(這裏是2行) – Anatoly

+0

我知道了,我只是不知道爲什麼端口2011不工作,我設法運行我的應用程序在端口8080和3000 :)謝謝! –