Configurando NGINX, PHP-FPM e Mysql no Fedora

Sejam, bem vindos ao primeiro post do blog, bom a ideia é descrever e explicar a instalação e configuração dos serviços: Nginx , php-fpm e mysql no fedora.
Vamos aos passos:

Iniciando a sessão como root

[shell]sudo su[/shell]

 

Instalação do Mysql

[shell]dnf install mysql mysql-server[/shell]

ativando o serviço

[shell]
systemctl enable mysqld.service
systemctl start mysqld.service
[/shell]

caso tenha o seguinte problema

[shell]systemctl enable mysqld.service;

Failed to execute operation: No such file or directory[/shell]

tente o seguinte comando

[shell]
systemctl enable mariadb
systemctl start mariadb
[/shell]

execute o seguinte comando para colocar seus dados de segurança

[shell]
/usr/bin/mysql_secure_installation
[/shell]

 

Instalação do servidor NGINX

[shell]
dnf install nginx
[/shell]

Habilitando serviço

[shell]
systemctl enable nginx
systemctl start nginx
[/shell]

checando status

[shell]
systemctl status nginx

nginx.service – The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Dom 2015-07-26 01:14:57 BRT; 57s ago
Main PID: 10525 (nginx)
CGroup: /system.slice/nginx.service
├─10525 nginx: master process /usr/sbin/nginx
├─10526 nginx: worker process
├─10527 nginx: worker process
├─10528 nginx: worker process
└─10529 nginx: worker process

[/shell]

agora é possivel verificar no browser sua disponibilidade (http://localhost/)

Nginx Ativo

Alterando o arquivo de configuração
/etc/nginx/nginx.conf

alterar linha
worker_processes auto;
para worker_processes 4;

Comando para checagem do arquivo de configuração do Nginx

[shell]
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[/shell]

 

Instalação do PHP-FPM

[shell]dnf install php-fpm php-cli php-mysqlnd php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy php-opcache
[/shell]

checando instalação

[shell]
php-fpm -v
PHP 5.6.11 (fpm-fcgi) (built: Jul 13 2015 15:48:45)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
[/shell]

alterando o arquivo de configuração /etc/php.ini

encontre a linhacgi.fix_pathinfo=1
e alterar para
cgi.fix_pathinfo=0

iniciando serviço

[shell]systemctl enable php-fpm.service
systemctl start php-fpm.service
[/shell]

 

Integrando php-fpm ao Nginx

Alterar o arquivo /etc/nginx/nginx.conf

1 – Coloque o trecho de código abaixo dentro do parâmetro “server {”

2 – caso prefira altere também a diretiva root para o path /var/www/html

[shell]
location ~ \.php$ {
root           /var/www/html;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;
}
[/shell]

Após isso pode validar a configuração

[shell]
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[/shell]

Reinicie o servidor

[shell]
systemctl reload nginx.service
[/shell]

Checando status

[shell]
systemctl reload nginx.service
[/shell]

crie um arquivo info.php
no diretorio definido em /var/www
com o codigo

[php]
<?php phpinfo(); ?>
[/php]

E aplique

[shell]
chmod 755 /var/www/info.php
[/shell]

Verificando Resultado no Browser: http://localhost/

 

Configuração de host

crie um diretorio dentro do seu root

[shell]mkdir /var/www/html/meudominio; cp /var/www/html/info.php /var/www/html/meudominio/index.php; chmod 755 /var/www/html/meudominio/index.php[/shell]

altere o conteúdo do novo arquivo para

[php]
<?php echo ‘testando o php e algo dinamico aqui ‘.date(‘d/m/Y H:i:s’); ?>[/php]

copie o arquivo

[shell]cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/meudominio.conf[/shell]

Insira o seguinte conteúdo
1 – altere o server_name
2 – altere o caminho do root

[shell]
server {
listen 80;
server_name meudominio.local;
#root /usr/share/nginx/html;
root /var/www/html/meudominio;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
}

location ~ \.php$ {
root /var/www/html/meudominio;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
[/shell]

altere o arquivo /etc/hosts

[shell]
127.0.0.1 localhost.localdomain localhost meudominio.local
::1 localhost6.localdomain6 localhost6
[/shell]

insira seu novo host

reinicie o servidor

[shell]
systemctl reload nginx.service
[/shell]

Verifique o resultado em : (http://meudominio.local/)

evitando dores de cabeça:
desabilitando serviço SELinux (causa bloqueio de streams do php-fpm Permission Denied)

https://wiki.hackstore.com.br/Desabilitando_SELinux_na_fam%C3%ADlia_de_distros_baseado_em_RedHat_(RHEL,_CentOS,_Fedora)

É isso aí espero ter sido claro na explicação. Valeu e até a próxima!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *