Desenvolvimento Web com NGINX - MySql - PHP (NMP) e phpMyAdmin no macOS - Parte 1
Hello!, Saraiva aqui!
Neste guia, tento ajudar você a preparar um ambiente de Desenvolvimento no Mac OS usando a pilha de softwares NGINX (lê-se ENGINE-X), MySql e PHP. Resumida como NMP.
Esta é a primeira parte, vamos adiante!
Quando se trata de desenvolver localmente, há muitas opções para usuários de Mac, incluindo a maneira fictícia de MAMP e XAMPP. No entanto, para aqueles que querem uma pilha NMP (Nginx, MySql, PHP), não é tão simples. Neste tutorial, vou orientar você sobre como instalá-los (além do popular phpMyAdmin). Estes passos foram testados no macOS Monterey 12.6.1.
Nesta primeira parte vamos instalar o NGINX.
Antes de começar, você deve garantir que tenha as Ferramentas de Linha de Comando instaladas no seu mac. Faz parte do XCode. Você deve tê-lo instalado e atualizado.
1 - Caso ainda não tenha, instale as Ferramentas de Linha de Comando usando o código abaixo. Se já tiver, pule para o próximo passo.
xcode-select --install
2 - Para continuar, precisamos instalar o Homebrew, uma ferramenta CLI que nos ajuda a instalar pacotes de maneira mais fácil e prática no macOS. Você pode ler mais sobre o Homebrew neste link. Caso já o tenha instalado, basta seguir para o próximo passo.
Caso você ainda não tenha o Homebrew instalado, por favor siga o link acima e instale conforme orientação na própria página do Homebrew, é bem simples. Depois disso, por favor siga com este guia. A partir do próximo passo, já vou considerar que você tenha o Homebrew instalado.
3 - Instale o Nginx usando Homebrew:
brew tap homebrew nginx
brew install nginx
4 - Teste a Instalação
## Start Nginx
sudo nginx
## Check if Nginx is running on 8080 port
curl -IL http://127.0.0.1:8080
4.1 - A saída deve ser algo parecido com isto:
HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Sun, 18 Dec 2022 05:29:39 GMT
Content-Type: text/html
Content-Length: 138
Last-Modified: Sat, 11 Nov 2017 19:49:46 GMT
Connection: keep-alive
ETag: "5a07545a-8a"
Accept-Ranges: bytes
4.2 - Você também pode abrir no seu navegador esse endereço http://127.0.0.1:8080/ . Você deve acessar a página padrão do Nginx.
Se você obteve estes resultados, parabéns! Nginx instalado com sucesso!
Algumas considerações que considero importante antes de prosseguir...
Vamos fazer algumas configurações para hosts virtuais logo após a instalação do servidor web. Você pode fazer o mesmo usando as instruções a seguir.
Com estes passos, você saberá como criar domínios (hosts) locais adicionais para seus projetos. Por exemplo: http://meusite1.local ou http://meusite1, http://meusite2 etc.
- Primeiro, prepare os diretórios antes de fazer a configuração:
mkdir -p /usr/local/etc/nginx/logs
mkdir -p /usr/local/etc/nginx/sites-available
mkdir -p /usr/local/etc/nginx/sites-enabled
sudo mkdir -p /var/www
sudo chown :staff /var/www
sudo chmod 775 /var/www
Explicando:
/usr/local/etc/nginx conterá os arquivos de configurações padrão do Nginx.
/var/www conterá todos os projetos locais. Neste diretório você deverá criar seus novos projetos. Por exemplo: os arquivos para http://meusite1 estarão localizados em /var/www/meusite1 etc.
- Crie o conteúdo padrão para páginas da web a ser servido pelo Nginx. Crie o arquivo /var/www/localhost/index.html com o seguinte conteúdo:
<!DOCTYPE html>
<html>
<head>
<title>Localhost NGINX on macOS</title>
</head>
<body>
<h1>Funcionou!</h1>
<p>Bem-vindo ao Nginx no macOS Monterey</p>
<p>Sucesso em seus projetos! Seus amigos da bsd.</p>
</body>
</html>
Em outro guia, vou mostrar como criar outros domínios locais para seus projetos, mas se você prestar bastante atenção já irá perceber como fazer isso apenas ao configurar esse novo padrão para o Nginx local.
- Edite o arquivo de configuração do Nginx localizado em /usr/local/etc/nginx/nginx.conf com o comando abaixo e deixo-o parecido com este exemplo abaixo:
worker_processes 1;
error_log /usr/local/etc/nginx/logs/error.log debug;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/etc/nginx/logs/access.log main;
sendfile on;
keepalive_timeout 65;
index index.html index.php;
include /usr/local/etc/nginx/sites-enabled/*;
}
- Crie o arquivo /usr/local/etc/nginx/sites-available/default com o seguinte conteúdo:
server {
listen 80;
server_name localhost;
root /var/www/localhost/;
access_log /usr/local/etc/nginx/logs/default.access.log;
error_log /usr/local/etc/nginx/logs/default.error.log;
error_page 404 /404.html;
error_page 403 /403.html;
}
- Crie um link simbólico para a diretiva sites-avalable/default no diretório de controle de sites habilitados do Nginx. Onde default trata-se do arquivo que você criou no comando acima.
sudo ln -s /usr/local/etc/nginx/sites-available/default /usr/local/etc/nginx/sites-enabled/default
Salve os arquivos e reinicie o Nginx:
sudo nginx -s stop
sudo nginx
- Verifique se o Nginx está funcionando normalmente e servindo seu novo site:
curl -IL http://localhost
A saída deve ser algo parecido com isto:
HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Sun, 18 Dec 2022 05:49:33 GMT
Content-Type: text/html
Content-Length: 138
Last-Modified: Sun, 18 Dec 2022 05:42:46 GMT
Connection: keep-alive
ETag: "5a07545a-8a"
Accept-Ranges: bytes
Você também pode abrir em seu navegador o endereço do site criado http://localhost.
Tudo pronto! Até aqui, Nginx instalado e configurado. O próximo passo será sobre as configurações do Nginx com o PHP.
Qualquer dúvida ou dificuldade que você tiver, por favor me chame nos comentários do vídeo criado para este guia lá no YouTube. Terei o maior prazer em ajudar você!
Vamos adiante!
Artigos relacionados
-
Desenvolvimento Web com NGINX - MySql - PHP (NMP) e phpMyAdmin no macOS - Parte 2
Hello!, Saraiva aqui! Neste guia, tento ajudar você a preparar um ambiente de Desenvolvimento no Mac OS usando a pilha de softwares NGINX (lê... -
Desenvolvimento Web com NGINX - MySql - PHP (NMP) e phpMyAdmin no macOS - Parte 3
Hello! Saraiva aqui! Neste guia, tento ajudar você a preparar um ambiente de Desenvolvimento no Mac OS usando a pilha de softwares NGINX (lê...
Você achou esse artigo útil?