cPanel Apache e nginx no mesmo servidor? [fechadas]

1

Estou usando o cPanel Apache 2 no meu servidor VPS para hospedar sites PHP / MySQL na porta 80.

Então, digamos que temos o myphp.com que funciona bem.

Agora eu instalei o Ruby / Rails / Passenger com o nginx (também com o Ruby Entreprise Edition) que funciona bem na porta 3000. Digamos que eu tenha um novo aplicativo Ruby on Rails e gostaria de hospedá-lo no myruby.com e não no myruby .com: 3000.

Como devo fazer isso acontecer?

Eu configuro um domínio no nginx da seguinte forma:

server {
   listen 3000;
   server_name www.myruby.com;
   root /home/myruby/public; 
   passenger_enabled on;
}

Se eu mudar a porta para 80, então não está funcionando (obviamente entra em conflito com o Apache). Por favor, note que eu não adiciono o domínio myruby.com ao cPanel.

Eu tenho 2 endereços IP dedicados. Eu ouvi em algum lugar que com 2 IPs você pode resolver este problema. Mas como você instrui o Apache do cPanel para escutar apenas um IP específico? Além disso, se eu apontar um domínio para o meu servidor, como posso instruir os domínios RoR a apontarem para o IP RoR?

    
por James 28.08.2009 / 16:23

3 respostas

1

Para referência futura, quem tenta executar cPanel Apache e Ruby on Rails com nginx.

1) Configure o nginx assim:

server {
    listen yourrubydomain.com:8001;
    server_name yourrubydomain.com;
    root /home/yourrubydomain/public; 
}   

1) Basta adicionar o domínio do complemento no cPanel 2) Faça o login no FTP, navegue até o diretório WWW do domínio recém-adicionado 3) Crie um arquivo .htaccess com o seguinte conteúdo:

RewriteRule ^ "http://127.0.0.1:8001%{REQUEST_URI}" [P, QSA, L]

4) É isso aí! 5) Em seu segundo domínio Ruby on Rails, não esqueça de tentar uma porta diferente da primeira. Por exemplo, no mysecondrubydomain.com, use a porta 8002, em vez de 8001, na configuração nginx e .htaccess.

    
por 29.08.2009 / 08:24
0

link

Lá vai você, aprenda sobre mod_proxy e ProxyPass.

    
por 28.08.2009 / 16:39
0

Você pode dizer ao Apache para escutar apenas certos IPs no arquivo httpd.conf. O padrão é provavelmente

Listen 80

Altere para

Listen XXX:80

Onde XXX é o primeiro IP que você deseja que o apache ouça.

Você pode então configurar o nginx para escutar no outro IP

listen YYY:80

Alternativamente, você pode configurar o Apache para usar o mod_proxy para fazer um proxy reverso de modo que certos domínios enviem para o localhost: 3000 e usem o servidor nginx. Mas acho que a solução acima é melhor porque adiciona menos complexidade ao sistema.

Observe que você pode brigar com o cPanel na alteração porque ele tenderá a reescrever o arquivo quando ele for atualizado ou você fizer alterações nos domínios.

    
por 28.08.2009 / 17:28