Como instalar e configurar o Nginx no CentOS 7
O Nginx é um servidor da Web muito popular devido ao seu desempenho e facilidade de uso. Neste tutorial, vamos orientá-lo na instalação e na configuração básica do Nginx no CentOS 7.
No Serverspace, você pode criar um servidor com o aplicativo "Nginx" já instalado.
Instalando o Nginx
Se você usar um usuário não raiz, deverá ter direitos sudo e adicionar a todos os comandos sudo na frente deles.
Para instalar o Nginx, adicione o repositório EPEL.
yum install epel-release -y
Agora, instalaremos o Nginx, bem como o editor de texto nano, por conveniência.
yum install nginx nano -y
Por padrão, o Nginx é configurado para trabalhar com endereços IPv4 e IPv6. Se o último não estiver configurado no servidor, como no meu caso, o servidor Web simplesmente não será iniciado. Portanto, vamos imediatamente para a configuração:
nano /etc/nginx/nginx.conf
Encontre a próxima linha e comente-a, ou seja, coloque um sinal # em seu início:
listen [::]:80 default_server;
Resultado:
# listen [::]:80 default_server;
Vamos salvar o arquivo e verificar se há erros na configuração:
nginx -t
Saída:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Se sua saída for diferente, ela indicará quais erros precisam ser corrigidos na configuração.
Agora vamos iniciar o Nginx e adicioná-lo à execução automática.
systemctl enable --now nginx
Se estiver usando o Firewall, será necessário adicionar uma regra de permissão para o servidor da Web. Abaixo está um exemplo para o Firewalld, digite os comandos em sequência:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
Configurando o local dos arquivos do site
Por padrão, o nginx exibe uma página de informações sobre o site. Vamos configurar um local diferente para os arquivos do site e adicionar nossa própria página. Primeiro, vamos criar os diretórios necessários.
mkdir -p /var/www/default
Agora, vamos criar a própria página em uma nova pasta:
nano /var/www/default/index.html
E adicionar conteúdo a ela, que pode ser qualquer coisa. Por exemplo:
<h1>My first web page</h1>
Vamos definir o proprietário do diretório e do arquivo nele contido como o usuário nginx:
chown -R nginx:nginx /var/www/default/
Usaremos o host virtual já existente na configuração do nginx e substituiremos a configuração para o local dos arquivos do site. Para fazer isso, abra a configuração do nginx:
nano /etc/nginx/nginx.conf
Você precisa encontrar a seção server, que começa com listen 80 default_server;, e nela o parâmetro root, que define o caminho para os arquivos do site. Vamos substituí-lo pelo caminho /var/www/default/ que acabamos de criar:
server { listen 80 default_server; # listen [::]:80 default_server; nome_do_servidor _; root /var/www/default/; ...
Salve o arquivo e reinicie o nginx.
systemctl restart nginx
Agora, ao acessar o endereço do servidor na janela do navegador, você verá o conteúdo da página recém-criada.
Configuração do processamento do PHP
Para trabalhar com PHP, instale o php-fpm:
yum install php-fpm
Agora vamos executá-lo e adicioná-lo à inicialização:
systemctl enable --now php-fpm
Adicione à configuração do nginx, no final da mesma seção server de antes, as configurações para trabalhar com o php-fpm:
nano /etc/nginx/nginx.conf
location ~ .php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
include fastcgi_params;
}
Reinicie o nginx:
systemctl restart nginx
Vamos criar um arquivo para testar a funcionalidade do php-fpm:
echo "" > /var/www/default/info.php
Vamos abrir o site http://server-IP/info.php na barra de endereços do navegador e ver informações sobre o PHP:

.
Essa saída confirma que o nginx + php-fpm está funcionando. Depois de testar a operação do servidor, certifique-se de excluir essa página, pois ela representa uma ameaça à segurança do servidor.
[/passo]


