Esta dica tem como objetivo, mostrar como o
Node.js e o
Apache podem trabalhar juntos sendo performático.
Preparando o Apache
Nesse processo, assumimos que já temos um servidor Apache
up and running, em um servidor com a distro Ubuntu.
Vamos dizer que você quer experimentar com Node.js, mas você não quer jogar fora todo o seu Apache existente. Vamos mostrar como configurar o servidor Apache existente para encaminhar solicitações para uma pasta específica para o Node.js.
Em nosso caso, iremos configurar a URL em que o Node.js responde pelo Apache. Ou seja, configuramos nosso Node.js para receber requisições nessa URL:
→
http://exemplo.com:10020/process
E iremos utilizar o Apache para recebê-las na porta 80 na URL:
→
http://exemplo.com/process
O primeiro passo, é habilitar os módulos proxy e proxy_http no Apache. Abra o terminal, navegue até o diretório onde seu Apache está instalado e digite os seguintes comandos :
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo service apache2 restart
O segundo passo, é configurar um
vhost. No Ubuntu:
# cd /PATH_APACHE/conf.d
# touch exemplo.conf
# vim exemplo.conf
Coloque as seguintes informações no arquivo:
a<VirtualHost *:80>
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /process>
ProxyPass http://localhost:10020/process
ProxyPassReverse http://localhost:10020/process
</Location>
</VirtualHost>
Feito isso, salve o arquivo e reinicie o Apache:
sudo service apache2 restart
Pronto, agora é só testar acessando a URL do seu browser preferido:
http://exemplo.com/process
A resposta deverá ser a mesma quando acessar a URL do Node.js:
http://exemplo.com:10020/process
Aplicação: alguns sistemas, como o PagSeguro, possuem APIs de integração que não aceitam chamadas que passam a porta na URL, nesse caso, o nosso problema é facilmente resolvido.
Abraços e até a próxima!
Nenhum comentário foi encontrado.