Fala ChurrOpers!
Esse artigo é “SIMPLÃO” e objetivo, vamos ver como instalar o Nginx + PHP-FPM 7.2 no CentOS 7.
Sem mais delongas, Let’s go!
Preparação e instalação de pacotes de apoio
O objetivo é a integração do nginx com php-fpm, sendo assim vou desabilitar o firewall e o selinux, fique a vontade para seguir esse passo, ou pular, fazendo as devidas configurações.
systemctl disable firewalld; systemctl stop firewalld sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0
Vou deixar aqui alguns dos pacotes que costumo colocar em algumas instalações de CentOS.
yum install -y epel-release yum install -y net-tools mlocate wget vim yum-utils htop
Instalando o Nginx à partir do repositório oficial
Criei o arquivo abaixo adicionando o conteúdo, com isso você já poderá baixar o pacote.
vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
yum -y install nginx systemctl enable nginx && systemctl start nginx
Acessando via browser você verá que seu Nginx está iniciado
Instalando o PHP-FPM 7.2
Instalando e habilitando o repositório REMI para o remi-php72.
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php72
No próximo comando estamos instalando os pacotes ‘base’ que são o PHP e o PHP-FPM, juntamente com alguns outros pacotes que geralmente aplições em PHP utilizam, nesse ponto é importante você ver se realmente precisa de todos esses pacotes para a sua instalação.
yum install -y php php-fpm php-mbstring php-gd php-cli php-ldap php-json php-xml php-xmlrpc php-pecl-apcu php-pear-Net-Curl php-pear-Net-IMAP php-imap php-pecl-apcu-devel php-pear-MDB2-Driver-mysqli php-phpiredis php-mysqlnd php-opcache php-pecl-zendopcache php-pear-CAS
php -version PHP 7.2.9 (cli) (built: Aug 15 2018 09:19:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
Aqui podemos ver que ambos os serviços estão no ar!
Configurando o PHP-FPM para o Nginx
Lembrando que existem milhares de configurações, mais o objetivo desse é artigo é um setup inicial que funcione.
vim /etc/php-fpm.d/www.conf # Altere os seguintes valores user = nginx group = nginx # Descomente para conexões tcp. listen = 127.0.0.1:9000 # Descomente para conexões via Socket # unix:/var/run/php-fpm/php-fpm.sock
systemctl enable php-fpm; systemctl start php-fpm systemctl status php-fpm
Se a sua saída foi semelhante a essa abaixo, sucesso seu php-fpm está iniciando.
Configurando o Nginx para utilizar o PHP-FPM
Vamos configurar o NGINX para reconhecer o PHP_FPM, para isso vamos editar o seu arquivo de configuração default para o nosso cenário.
Os exemplos das configurações que podem ser utilizadas para o php no NGINX você pode encontrar na documentação.
vim /etc/nginx/conf.d/default.conf
Adicione/descomente os seguintes parâmetros:
location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;
Segue um exemplo do arquivo completo:
server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
Para validar a nossa instalação do PHP nada melhor do que o bom e velho info.php
vim /usr/share/nginx/html/info.php
Adicione o conteúdo abaixo no arquivo e salve.
Reinicie o nginx e php-fpm.
systemctl restart nginx && systemctl restart php-fpm
Ao reiniciar abra seu browser novamente, e basta conferir a instalação realizada com sucesso!
Conclusão
Artigo totalmente FAST and SIMPLE, mas espero que seja útil.
Abraço!
Deixe um comentário