Esses dias eu estava aprendendo a mexer no meu droplet no DigitalOcean, que consegui com o Github Student Pack, e fiquei pensando como que eu conseguiria fazer para rodar dois sites, ou mais,no mesmo droplet. Pensei assim rápido e era impossível que cada site tivesse q rodar obrigatoriamente em um servidor diferente. Fucei vários sites na internet e achei primeiro o blog (10/10 esse blog, acessem ai) de um brasileiro que ensinava criar um proxy reverso para 1 aplicação.
Resumão de um proxy reverso para 1 aplicação (utilizando ubuntu)
Primeiro é preciso instalar o Nginx e ativar ele:
$ sudo apt-get install nginx
$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx
Se tudo deu certo quando você acessar o IP do seu servidor ou qualquer DNS que você configurou vai aparecer uma pagina igual a essa:
Agora vamos configurar o seu proxy reverso da sua aplicação, que já deve estar rodando em alguma porta do seu servidor. Vamos criar um arquivo de configuração
$ sudo nano /etc/nginx/sites-avaliable/meusite1.com
e colar o seguinte código:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:<porta-do-servidor-site1>;
}
}
Obs: Não se esqueça dos ;
se não da ruim depois.
Agora vamos excluir o arquivo de configuração padrão que vem com o Nginx e criar um link simbólico (symlink) do arquivo de configuração que você acabou de criar e reiniciar o Nginx
$ sudo rm /etc/nginx/sites-enabled/default
$ sudo ln -s /etc/nginx/sites-available/meusite1.com /etc/nginx/sites-enabled/meusite1.com
$ sudo systemctl restart nginx
Agora quando você acessar o IP do seu servidor ou o DNS você não vai precisar utilizar de forma explícita o número da porta que a aplicação está rodando.
Criando proxy reverso pro segundo subdominío
Essa parte vai ser mais rápida. Você vai fazer basicamente a mesma coisa que já foi feita nos passos anteriores. Porém criando um arquivo de configuração diferente.
Você pode copiar o arquivo que você já tinha feito para o primeiro:
$ sudo cp /etc/nginx/sites-avaliable/meusite1.com /etc/nginx/sites-avaliable/meusite2.com
$ sudo nano/etc/nginx/sites-avaliable/meusite2.com
e modificar o número da porta que a segunda aplicação está rodando:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:<porta-do-servidor-site2>;
}
}
Agora é só colocar esse arquivo na pasta sites-enabled e dar um restart no Nginx:
$ sudo ln -s /etc/nginx/sites-available/meusite2.com /etc/nginx/sites-enabled/meusite2.com
$ sudo systemctl restart nginx
Pronto! Seus dois domínios estão funcionando agora. Basta ter configurado o subdomínio no seu DNS com o IP e a PORTA da segunda aplicação.
Vlw, qualquer dúvida chama no twitter @mat_almeida
Esse é um repost
de um uma postagem que fiz no medium a um tempo atrás e achei que seria útil trazer para o dev.to
Top comments (0)