FreeBSD com Nginx / Php-fpm / MySQL um Poderoso Servidor Web

Servidor Web poderoso FreeBSD com Nginx, Php-fpm e MySQL.

Fala Galera,

Aproveitando a oportunidade eu gravei um vídeo sobre Servidor Web usando FreeBSD e Nginx com suporte Php e um Banco de dados MySQL, acredito que vai ajudar a galera a pensar fora da Caixa!!!

Caso você não tenha atualizado os o Sistema e seus pacotes execute o comando:

# freebsd-update fetch install

Após atualizar vamos instalar o Servidor Nginx em nosso Sistema operacional.

# pkg install nginx

Agora vamos instalar o MySQL:

# pkg install mysql56-server

Vamos instalar também os módulos do PHP 7.0.

# pkg install php70 php70-mysqli php70-xml  php70-gd php70-curl php70-zlib php70-zip php70-hash php70-tokenizer

Vamos executar o comando rehash para regenerar as informações do cache do sistema sobre os arquivos executáveis instalados.

# rehash

Vamos fazer uma cópia de arquivo para testes:

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

# edit /usr/local/etc/php.ini

Descomentar a linha cgi.fix_pathinfo=1 e alterar para 0.

cgi.fix_pathinfo=0

Agora vamos configurar a inicialização dos serviços Nginx, MySQL e PHP.

Eu poderia executar o comando:

sysrc nginx_enable=yes mysql_enable=yes php_fpm_enable=yes

Mas quero que vocês entendam o que estão fazendo, então vamos acessar o arquivo de configuração:

Adicionar as linhas abaixo no arquivo rc.conf

# edit /etc/rc.conf

nginx_enable=”yes”

mysql_enable=”yes”

php_fpm_enable=”yes”

Feito isso vamos iniciar os serviços:

# service nginx start
# service mysql-server start
# service php-fpm start

Agora vamos configurar o PHP, vamos alterar a forma com ele se comunica, vamos alterar a comunicação que é através de uma porta para utilizar um soquete UNIX o que é mais seguro.

# edit /usr/local/etc/php-fpm.d/www.conf

Vamos comentar a linha listen = 127.0.0.1:9000

Vamos adicionar a linha:

listen = /var/run/php-fpm.sock

Vamos também descomentar as linhas abaixo:

listen.owner = www
listen.group = www
listen.mode = 0660

Vamos reiniciar o serviço PHP

# service php-fpm restart

Vamos configurar agora nosso MySQL:

# mysql_secure_installation

Pressione Enter, Enter novamente e siga os passos solicitados

Agora vamos configurar o Nginx para rodar Aplicações PHP com o php-fpm.

Vamos verificar a quantidade de processadores/nucleos para setar em nossa configuração, rode o comando sysctl hw.ncpu para verificar o número de CPUs.

# sysctl hw.ncpu

Feito isso vamos editar o arquivo:

# edit /usr/local/etc/nginx/nginx.conf

========================================================================

user www;
worker_processes 1;
error_log /var/log/nginx/error.log info;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;

sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name exemplo.com www.exemplo.com;
root /usr/local/www/nginx;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ =404;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
}

========================================================================

Vamos criar o Arquivo info.php para testar o funcionamento do php-fpm.

# edit /usr/local/www/nginx/info.php

Colocar:

<?php phpinfo(); ?>

Espero que vocês gostem, compartilhe, deixe seu comentário!

Forte abraço!!!

Ref.

https://nginx.org/en/docs/

https://www.freebsd.org/doc/handbook/

http://php.net/manual/pt_BR/install.fpm.php

MySQL foi no pelo!!!!

Deixe uma resposta

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