Развертывание приложения Rails на другом порту

простой вопрос: как я могу развернуть свое приложение Rails в порт моего веб-сайта? Я знаю, что могу указать порт при работе с Mongrel или Webrick, но на этот раз мне нужно развернуть его в рабочей среде. Я думаю, что пассажир может справиться с этим, но я не знаю, как. Я пробовал искать, но все еще не могу найти решение. Пожалуйста помоги :)

Спасибо!

Дополнение: я использую Ubuntu 10.04 LTS, и мой Passenger работает с Apache.


person Kenneth John    schedule 25.07.2011    source источник
comment
Вы также должны указать, какой дистрибутив Linux вы используете.   -  person Chris Ledet    schedule 25.07.2011


Ответы (2)


Если вы используете Passenger с Apache или nginx. Он будет использовать порт по умолчанию, 80. Вы можете изменить это в файле конфигурации в зависимости от того, какой веб-сервер вы используете.

person Chris Ledet    schedule 25.07.2011
comment
Спасибо! Я использую Apache на Linux Ubuntu 10.04LTS, какой файл конфигурации мне нужно изменить? Я изменил свой файл /etc/apache2/ports.conf. Я добавил Listen 8080, а также изменил свои сайты с включенными/по умолчанию, я добавил VirtualHost на *: 8080, но порт 8080 все еще недоступен :( - person Kenneth John; 26.07.2011

# 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+пассажира

person Anatoly    schedule 25.07.2011
comment
Михайлов, спасибо, но мне нужен конфиг Passenger для Apache. - person Kenneth John; 26.07.2011
comment
так что вам нужна помощь только с настройкой httpd? Используйте Listen 80 Listen 8081 (2 строки здесь) - person Anatoly; 26.07.2011
comment
Я понял. Я просто не знаю, почему порт 2011 не работает. Мне удается запустить свое приложение на портах 8080 и 3000 :) Спасибо! - person Kenneth John; 26.07.2011
comment
Порты @ikenn до 4096 недоступны - person vireshas; 02.04.2012