⚙️ Configurando VirtualHost (Múltiplos sites) no NGINX PHP
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
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
: substituaseudominio.com
pelo domínio real da aplicação, ex:app1.meudominio.com
.access_log
eerror_log
: substituaseudominio.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.
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!