Migrando Sites NGINX para o Servidor Caddy no ServBay
O ServBay é um ambiente de desenvolvimento web local robusto, integrando diversos servidores web populares, incluindo Caddy, NGINX e Apache. O ServBay vem pré-configurado com regras comuns de regravação de URL para esses servidores, especialmente para Caddy e NGINX, facilitando consideravelmente o trabalho de configuração dos desenvolvedores.
Este artigo serve como um guia detalhado mostrando como migrar seu site NGINX existente de maneira fluida para o servidor Caddy incluído no ServBay. Usaremos como exemplos o popular framework PHP Laravel e o sistema de gerenciamento de conteúdo WordPress para demonstrar todo o processo de migração.
Suporte completo do ServBay a servidores web
O ServBay oferece suporte total aos servidores Caddy, NGINX e Apache, permitindo que você alterne o servidor web padrão conforme a necessidade do seu projeto. Consulte a documentação sobre Como trocar o servidor web padrão para mais detalhes.
Visão Geral
Migrar um site de um servidor web para outro envolve a transferência dos arquivos de configuração e dos arquivos do próprio site. No ServBay, o processo de migração para o Caddy foi criado para ser extremamente simples. Para a grande maioria dos frameworks PHP e sistemas CMS (como Laravel, WordPress, Symfony, CodeIgniter, Drupal, Joomla, entre outros), o ServBay já oferece suporte pronto para uso, geralmente dispensando qualquer alteração manual nos arquivos de configuração do Caddy. O ServBay gera automaticamente o Caddyfile conforme você configura o site através da interface gráfica (GUI).
Preparativos Antes da Migração
Antes de iniciar qualquer processo de migração, siga estas etapas:
- Backup dos arquivos do site: Faça um backup completo de todos os arquivos e pastas na raiz do seu site.
- Backup do banco de dados: Faça backup do banco de dados utilizado pelo site (por exemplo, MySQL, PostgreSQL, MongoDB, etc.). O ServBay possui ferramentas internas de gerenciamento de bancos, mas suporta também backup manual.
- Instale o ServBay: Certifique-se de que o ServBay já está instalado e em execução no seu macOS.
- Confirme o local dos arquivos: Coloque os arquivos do seu site no diretório raiz padrão do ServBay,
/Applications/ServBay/www
ou em um subdiretório. Por exemplo, se seu projeto se chamamyproject
, coloque-o em/Applications/ServBay/www/myproject
.
Funcionamento do Caddy no ServBay
Compreender como o ServBay gerencia as configurações do Caddy é fundamental para uma migração tranquila. Diferentemente da administração manual do Caddyfile, o ServBay permite que você adicione e configure sites através da sua interface gráfica (GUI). Assim que você adiciona um site e seleciona Caddy como servidor web, o ServBay gera e gerencia automaticamente trechos do Caddyfile com base no domínio, diretório raiz, versão do PHP e demais informações especificadas. Esses trechos são incorporados ao Caddyfile principal mantido pelo ServBay, garantindo o funcionamento correto do seu site.
Em outras palavras, basta adicionar o site via GUI do ServBay para completar toda a configuração do Caddy — não é necessário editar manualmente nenhum .caddyfile
ou arquivo de texto similar.
Etapas de Migração
A migração de um site NGINX para o servidor Caddy no ServBay é bastante direta:
- Inicie o ServBay: Certifique-se de que a aplicação ServBay está rodando.
- Localize os arquivos do site: Copie ou mova os arquivos do seu site NGINX (incluindo código, imagens, CSS, JS, etc.) para uma nova pasta dentro do diretório raiz do ServBay, como
/Applications/ServBay/www/seu-site
. - Adicione o site via GUI do ServBay:
- Abra o aplicativo ServBay.
- Navegue até a seção “Websites” (Sites).
- Clique em “Adicionar site” (Add Website).
- Preencha as informações do site:
- Domínio: Insira o domínio que deseja usar localmente, por exemplo,
seu-site.servbay.demo
. - Raiz do site: Escolha o diretório onde colocou os arquivos na etapa 2, como
/Applications/ServBay/www/seu-site
. - Servidor Web: Selecione
Caddy
. - Versão do PHP: Escolha a versão do PHP usada no seu site.
- Domínio: Insira o domínio que deseja usar localmente, por exemplo,
- Clique em “Salvar” ou “Criar”.
- Valide o site: O ServBay adicionará automaticamente o novo domínio no arquivo hosts local e configurará o Caddy. No navegador, acesse o domínio local definido (por exemplo,
http://seu-site.servbay.demo
) e verifique se o site carrega normalmente. - Configuração do banco de dados: Se o site usa um banco de dados, certifique-se de que o respectivo serviço (MySQL, PostgreSQL, etc.) está ativo no ServBay e atualize as configurações de conexão no arquivo de configuração do site (normalmente o endereço será
127.0.0.1
oulocalhost
, e o usuário/senha conforme configurado).
Exemplo: Migrando um Site Laravel
Exemplo de configuração típica do NGINX (apenas referência)
O exemplo a seguir ilustra um arquivo típico de configuração NGINX para sites Laravel, mostrando como definir o diretório raiz, o arquivo de entrada (index.php
) e o processamento PHP FastCGI:
server {
listen 80;
server_name laravel.servbay.demo; # Exemplo de domínio ServBay
root /Applications/ServBay/www/laravel/public; # Aponta para a pasta public do Laravel
index index.php index.html index.htm;
location / {
# Tenta acessar arquivos ou pastas diretamente; se não existir, reescreve para index.php
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
# Processamento PHP FastCGI
include fastcgi_params;
# Caminho padrão do socket PHP-CGI no ServBay
fastcgi_pass unix:/Applications/ServBay/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
# Bloqueia acesso a arquivos ocultos
deny all;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Configuração Caddy correspondente no ServBay (gerada automaticamente, não necessita edição manual)
Não é necessário configurar o Caddyfile manualmente
No ServBay, você não precisa criar ou editar manualmente o Caddyfile para obter essa funcionalidade. A interface gráfica do ServBay gera automaticamente a configuração necessária do Caddy conforme as opções do site. O exemplo abaixo serve apenas para ilustrar como o ServBay converte configurações típicas do NGINX para o Caddy e para maior entendimento do processo.
Veja a seguir um exemplo simplificado do trecho que o ServBay geraria para o site Laravel acima (a configuração real pode ser mais completa para agregar funcionalidades):
# Esta configuração é gerenciada automaticamente pelo ServBay
laravel.servbay.demo {
# Define o diretório raiz do site
root * /Applications/ServBay/www/laravel/public
# Configuração PHP FastCGI apontando para o socket do PHP-CGI do ServBay
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Ativa o serviço de arquivos
file_server
# Matcher para arquivos não estáticos
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
# Reescreve URLs que não sejam de arquivos estáticos para index.php
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Passos práticos para migrar o Laravel:
- Copie os arquivos do seu projeto Laravel para
/Applications/ServBay/www/laravel
. - Certifique-se de que o diretório
laravel/public
seja a raiz do site. - Adicione o novo site no GUI do ServBay: domínio
laravel.servbay.demo
, diretório/Applications/ServBay/www/laravel/public
, e escolhaCaddy
como servidor. - Atualize as informações de conexão ao banco de dados no arquivo
.env
do Laravel. - Acesse
http://laravel.servbay.demo
para testar.
Exemplo: Migrando um Site WordPress
Exemplo de configuração típica do NGINX (apenas referência)
Veja um arquivo típico de configuração NGINX para WordPress:
server {
listen 80;
server_name wordpress.servbay.demo; # Exemplo de domínio ServBay
root /Applications/ServBay/www/wordpress; # Aponta para o diretório do WordPress
index index.php index.html index.htm;
location / {
# Regras de permalink do WordPress
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
# Processamento PHP FastCGI
include fastcgi_params;
# Caminho padrão do socket PHP-CGI no ServBay
fastcgi_pass unix:/Applications/ServBay/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
# Bloqueia acesso a arquivos ocultos
deny all;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Configuração Caddy correspondente no ServBay (gerada automaticamente, não necessita edição manual)
Não é necessário configurar o Caddyfile manualmente
Da mesma forma, para WordPress, a GUI do ServBay cuida da configuração do Caddy automaticamente. O exemplo serve apenas para mostrar como o ServBay traduz as regras de permalink e outras necessidades comuns do WordPress.
Veja a seguir um exemplo do trecho que o ServBay criaria automaticamente para o seu site WordPress:
# Esta configuração é gerenciada automaticamente pelo ServBay
wordpress.servbay.demo {
# Define o diretório raiz do site
root * /Applications/ServBay/www/wordpress
# Configuração PHP FastCGI
php_fastcgi unix//Applications/ServBay/tmp/php-cgi.sock
# Ativa o serviço de arquivos
file_server
# Matcher para arquivos não estáticos
@notStatic {
not {
file {
try_files {path} {path}/ /index.php?{query}
}
}
}
# Reescreve URLs não estáticos para index.php (permalinks)
rewrite @notStatic /index.php
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Passos práticos para migrar o WordPress:
- Copie os arquivos do WordPress para
/Applications/ServBay/www/wordpress
. - Adicione o novo site via GUI do ServBay: domínio
wordpress.servbay.demo
, diretório/Applications/ServBay/www/wordpress
, e escolhaCaddy
como servidor. - Ajuste as informações de conexão ao banco no arquivo
wp-config.php
. - Acesse
http://wordpress.servbay.demo
para testar. Caso haja problemas com permalinks, normalmente o ServBay já terá configurado as regras adequadas. Verifique em “Configurações” > “Links Permanentes” no painel do WordPress.
Observações Importantes
- Conexão com banco de dados: Após a migração, sempre atualize as informações de conexão no seu código para apontar para os serviços de banco de dados em execução no ServBay.
- Variáveis de ambiente: Se seu app depende de variáveis de ambiente específicas, configure-as corretamente no ambiente do ServBay (usando, por exemplo, o arquivo
.env
do PHP ou as opções do ServBay). - Configurações NGINX complexas: Os exemplos deste artigo abordam configurações comuns para Laravel e WordPress. Se você possui configurações NGINX muito customizadas, com regras avançadas, módulos específicos ou ajustes não convencionais, pode ser necessário adaptar manualmente consultando a documentação oficial do Caddy ou implementando customização pelos pontos de extensão oferecidos no ServBay (quando disponíveis). Entretanto, para a maioria dos casos padrão, a configuração automática do ServBay é suficiente.
- HTTPS/SSL: O ServBay permite ativar HTTPS para sites locais facilmente. Use o User CA ou Public CA do próprio ServBay para gerar e confiar certificados SSL locais, sem necessidade de ajustes manuais no Caddy.
Conclusão
Migrar um site NGINX para o servidor Caddy do ServBay é um processo muito simplificado, graças ao gerenciamento automático das configurações feitas pela plataforma. Para aplicações populares como Laravel e WordPress, basta transferir os arquivos para o diretório indicado e cadastrar o site pela GUI do ServBay. O próprio ServBay se encarrega dos ajustes necessários, como regravação de URLs e configuração PHP FastCGI, permitindo que você rode seu site localmente com Caddy de forma rápida e descomplicada.