Existem várias maneiras de executar o Apache lado a lado com o nginx na mesma máquina.
Aqui está uma maneira: assumindo que você tenha o Apache e o nginx instalados no Ubuntu / Debian, siga estas instruções.
O resultado final será o Apache como um servidor "master" e o nginx como um host virtual do Apache.
Alterar a porta para nginx
Abra o site padrão do nginx:
cd /etc/nginx/sites-available
sudo cp default default.bak
sudo nano default
Altere a porta nas linhas de escuta em servidor de 80 para 81:
…
server {
listen 81 default_server;
listen [::]:81 default_server ipv6only=on;
…
Salvar e sair do nano.
Ativar os módulos necessários para o Apache
sudo a2enmod proxy_http
Configurar o host virtual
cd /etc/apache2/sites-available
sudo nano nginx.conf
Cole isso no nano:
<VirtualHost *:80>
# (optional) Set a ServerName:
# ServerName nginx.mydomain.com
# Set the below line to your desired subdomain:
ServerAlias nginx.*
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
# Forward requests to nginx (port 81)
ProxyPass / http://127.0.0.1:81/
ProxyPassReverse / http://127.0.0.1:81/
</VirtualHost>
Observe o ServerName e o ServerAlias no arquivo acima. Altere-os para o domínio desejado, se você tiver um.
Salvar e sair do nano.
Se você não tem um domínio e / ou gostaria de executá-lo apenas localmente, abra / etc / hosts:
sudo nano /etc/hosts
Em seguida, adicione essas duas linhas à parte inferior (você pode alterar nginx.localhost para o que deseja):
# nginx
127.0.0.1 nginx.localhost
Agora ative o nginx no Apache:
sudo a2ensite nginx
sudo service apache2 restart
Ver no seu navegador
link (ou o domínio desejado que você configurou)
Algumas notas
- Se você executar o PHP-FPM, terá que definir as variáveis SERVER_NAME, SERVER_PORT e HTTP_HOST para que correspondam ao Apache: link
- Se você tiver algum problema ao iniciar o nginx, sempre verifique o error.log (no Ubuntu eu tive que sudo su para ver dentro da pasta de log)