Como hospedar duas versões do aplicativo Rails no servidor Ubuntu

2

Estou tentando hospedar várias versões (dev e staging) de um aplicativo Rails no mesmo servidor, mas atualmente não consigo acessar as duas através do navegador.

Estou usando o Apache2, o Passenger, o Rails 3 e o Ubuntu 10.04 LTS.

Gostaria de acessar os dois sites pelo mesmo IP, mas com portas diferentes. Isso é permitido? Quando eu acesso o ambiente de preparação via " link ", funciona muito bem, mas quando tento acessar o ambiente de desenvolvimento via " link ", o navegador diz que não pode se conectar a " link ".

Em teoria, isso deveria funcionar? Preciso atribuir domínios reais (por exemplo, " link " e " link ")?

# ports.conf

Listen 80
NameVirtualHost *:80
Listen 8080
NameVirtualHost *:8080

# sites-enabled/staging-example.com

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot "/home/www/example/staging/current/public"
  <Directory "/home/www/example/staging/current/public">
    Allow from all
    Options -MultiViews   
  </Directory>
</VirtualHost>

# sites-enabled/dev-example.com

<VirtualHost *:8080>
  ServerName dev-example.com
  DocumentRoot "/home/www/example/dev/current/public"
  <Directory "/home/www/example/dev/current/public">
    Allow from all      
    Options -MultiViews   
    RailsEnv development
  </Directory>
</VirtualHost>

Nota: Eu também criei o arquivo config / setup_load_paths.rb como recomendado por link .

    
por bporter 04.06.2011 / 16:07

1 resposta

1

O Passenger provavelmente está configurado para publicar os dois aplicativos na porta 80 (não vejo uma configuração personalizada para substituir isso em qualquer lugar).

Ainda assim, eu usaria vhosts com domínios, ou seja:

NameVirtualHost <IP>:80

<VirtualHost <IP>:80>
    ServerName www.x.com
    ServerAlias x.com
    <DocumentRoot  //etc, left out for simplicity...
</VirtualHost>

<VirtualHost <IP>:80>
    ServerName www.dev-x.com
    ServerAlias dev-x.com
    <DocumentRoot //etc, left out for simplicity...
</VirtualHost>

Preencher o restante deve permitir que o apache aponte para você no servidor certo.

Espero que ajude, deixe-me saber se isso não está claro

ATUALIZAÇÃO:

A propósito, como você está no Ubuntu, você pode apenas adicionar cada uma dessas configurações vhost aos sites disponíveis e usar o a2ensite para ativá-los / off = > temos 2 servidores que estamos usando assim, e o primeiro tem cerca de 15 sites diferentes, o segundo tem cerca de 10.

    
por 14.05.2012 / 23:26