Olá pessoal, aqui segue um passo a passo (modo receita de bolo) para a instalação e configuração básica do Nginx num servidor com Ubuntu 20.04.
O Ngix é um servidor web responsável por manter inúmeros sites mundialmente. Após essa instalação será possível apontar seu domínio ou sub-domínio para esse servidor, disponibilizando sua aplicação na Web.
Esse tutorial segue a premissa que o Ubuntu 20.04 já está instalado, algo bem normal ao se optar por um serviço de VPS (por exemplo). Não considerando uma instalação em localhost.
1 – Instalação Nginx
Acesse seu servidor e atualize os pacotes do servidor Ubuntu.
$ sudo apt updateInstale o Nginx
$ sudo apt install nginxConfirme a instalação do mesmo e suas dependências com um “Y”.
2 – Ajustando o firewalld/ufw
2.1 – Via Firewalld
Se estiver usando firewalld ou quiser usar ele
Instale-o via:
$ sudo apt install firewalldHabilite as portas 80 e 443
$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
$ sudo firewall-cmd --zone=public --permanent --add-port=443/tcpRecarregue-o
$ sudo firewall-cmd --reloadVerifique as portas
$ sudo firewall-cmd --zone=public --list-portsAtivando na inicialização
$ sudo systemctl start firewalldVerificando o status
$ sudo systemctl status firewalld2.2 – Via ufw
Liste as configurações
$ sudo ufw app listDeve-se receber o seguinte retorno:
Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSHTradução:
Nginx Full: Este perfil abre ambas as portas 80 (tráfego Web normal, não criptografado) e 443 (tráfego TLS/SSL criptografado)
Nginx HTTP: Este perfil abre apenas a porta 80 (tráfego Web normal, não criptografado)
Nginx HTTPS: Este perfil abre apenas a porta 443 (tráfego TLS/SSL criptografado)
OpenSSH: Este perfil abre apenas a porta 22 da conexão SSH.
Nesse tutorial vou ativar a “Nginx Full” e o “OpenSSH”
$ sudo ufw allow 'Nginx Full'
$ sudo ufw allow 'OpenSSH'Verifique se o Firewalld está ativo:
$ sudo ufw statusSe retornar “Status: inactive”, ative-o:
$ sudo ufw enableVocê receberá a pergunta: “Command may disrupt existing ssh connections. Proceed with operation (y|n)”, referente a interroper a conexão SSH. Como já foi configurado o perfil “OpenSSH”, pode confirmar com “Y”.
Verifique novamente se o Firewalld está ativo:
$ sudo ufw statusReceberá o retorno:
Status: active
To                         Action      From
--                         ------      ----
Nginx Full                 ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
Nginx Full (v6)            ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)3 – Verificando se está ativo o Nginx
O Nginx já deve estar funcionando, mas inicialmente, vamos verificar se o serviço está rodando no Ubuntu.
$ systemctl status nginxVocê deve receber o retorno, por exemplo:
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 14:44:03 UTC; 26min ago
       Docs: man:nginx(8)
   Main PID: 35147 (nginx)
      Tasks: 3 (limit: 1102)
     Memory: 5.7M
     CGroup: /system.slice/nginx.service
             ├─35147 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─35148 nginx: worker process
             └─35149 nginx: worker processComo se vê o serviço rodando.
Vamos verificar o IP do Servidor:
$ curl -4 icanhazip.comApós pegar o IP retornado, acesse um navegador e acesse:
http://<seu_ip>4 – Gerenciando o Nginx
Para parar o Nginx, digite:
$ sudo systemctl stop nginxPara iniciar o Nginx quando ele estiver parado, digite:
$ sudo systemctl start nginxPara parar e então iniciar o serviço novamente, digite:
$ sudo systemctl restart nginxSe você estiver simplesmente fazendo alterações de configuração, o Nginx geralmente pode recarregar sem quedas na conexão. Para fazer isso, digite:
$ sudo systemctl reload nginxPor padrão, o Nginx está configurado para iniciar automaticamente quando o servidor for iniciado. Se precisar, é possível desativar este comportamento digitando:
$ sudo systemctl disable nginxPara reativar o serviço para iniciar na inicialização, digite:
sudo systemctl enable nginx
