Pular para o conteúdo principal

⚙️ Configurando VirtualHost (Múltiplos sites) no NGINX PHP

atenção

Todas as configurações feitas neste manual são exemplos simples e hipotéticos. Será necessário realizar adaptações conforme a topologia do seu ambiente.

Este guia detalhado vai ensinar como configurar múltiplos VirtualHosts (sites) em um servidor NGINX com PHP (usando PHP-FPM) na plataforma SaveinCloud. Assim, você poderá hospedar várias aplicações em um mesmo servidor, cada uma com seu domínio próprio.

🗂️ Passo 1 – Organize suas aplicações

Implante suas aplicações em diretórios separados dentro do caminho:

/var/www/webroot/

Exemplos:

  • /var/www/webroot/app1
  • /var/www/webroot/app2
  • /var/www/webroot/app3

Cada pasta representará uma aplicação distinta.

📝 Passo 2 – Crie os arquivos de configuração dos VirtualHosts

Crie um arquivo .conf para cada aplicação dentro do diretório:

/etc/nginx/conf.d/

Por exemplo:

  • app1.seudominio.com.conf
  • app2.seudominio.com.conf
  • app3.seudominio.com.conf
atenção

O sufixo .conf é obrigatório para que o NGINX reconheça e carregue os arquivos.

🔧 Passo 3 – Configure cada arquivo .conf

Insira o seguinte conteúdo básico em cada arquivo, ajustando os valores indicados:

server {
listen 80;
listen [::]:80;

server_name seudominio.com;
access_log /var/log/nginx/seudominio.com.access.log;
error_log /var/log/nginx/seudominio.com.error.log info;

root /var/www/webroot/site1;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ /\. {
deny all;
}
}

✍️ Ajustes necessários:

  • root: altere /var/www/webroot/site1 para o caminho da pasta da aplicação correspondente, ex: /var/www/webroot/app1.
  • server_name: substitua seudominio.com pelo domínio real da aplicação, ex: app1.meudominio.com.
  • access_log e error_log: substitua seudominio.com pelo domínio do site para manter os logs organizados.

🔄 Passo 4 – Reinicie o NGINX

Após configurar todos os arquivos, reinicie o NGINX para aplicar as mudanças.

dica

Você pode estar utilizando o comando nginx -t via WebSSH para verificar se a sintaxe da configuração está correta, pois em caso de erro, o serviço irá falhar ao tentar o reinício.

🔍 Passo 5 – Teste o acesso aos seus sites

Verifique se as aplicações estão acessíveis através dos seus respectivos domínios.

🔒 Sugestão de configuração HTTPS

Caso deseje utilizar HTTPS, realize a instalação do Add-on Let's Encrypt e acrescente a seguinte configuração no arquivo .conf do seu VirtualHost:

    server {
listen *:443 ssl;
listen *:443 quic;
listen [::]:443 ssl;
listen [::]:443 quic;
http2 on;
server_name app1.meudominio.com;

root /var/www/webroot/app1;
index index.php index.html;

ssl_certificate /var/lib/jelastic/SSL/jelastic.chain;
ssl_certificate_key /var/lib/jelastic/SSL/jelastic.key;

access_log /var/log/nginx/app1.access.log;
error_log /var/log/nginx/app1.error.log;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ /\. {
deny all;
}
}

🚀 Conclusão

Com essa configuração simples, você poderá hospedar várias aplicações PHP em um único servidor NGINX, isolando cada site em seu próprio VirtualHost, facilitando gerenciamento e escalabilidade.

🧠 Dúvidas?

Entre em contato com o suporte técnico e envie sua dúvida que estaremos à disposição para te ajudar!