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://www.freebsd.org/doc/handbook/
http://php.net/manual/pt_BR/install.fpm.php
MySQL foi no pelo!!!!

Atualmente atua como Architecture Manager pela Atos Brasil, entusiasta Microsoft, FreeBSD e Debian, com mais de 20 anos de experiência em infraestrutura de T.I com ambientes heterogêneos, possuí o título de Microsoft Certified Trainer, AWS Community Builder, FinOps Member Foundation, Membro do comitê público do IDCIBER e especialista em segurança de perímetro, tendo atuado com soluções como Isa Server, iptables, IPFW, Cisco ASA, SonicWall, Fortigate, pfSense e soluções de Web Application Firewall.