Criando um servidor Nginx+PHP+MySQL em segundos com Docker
Hoje em dia montar um servidor LEMP (Nginx+PHP+MySQL) é relativamente simples. Se você estiver usando Debian/Ubuntu basta utilizar o comando:
sudo apt install mysql-server nginx php-fpm
e fazer algumas configurações e pronto: está funcionando.
Entretanto, para quem desenvolve e com frequencia tem que criar novos domínios esse processo começa a atrapalhar.
Mas se pensarmos em utilizar um container Docker que já tenha tudo pronto e associar com o projeto USDocker de forma a tornar esse container como um serviço fica bem mais fácil e rápida essa configuração.
Uma vez instalado o script do USDocker (aqui) na máquina rodamos os seguintes comandos:
usdocker mysql up
usdocker lemp up
Com isso, se abrirmos no browser a url “http://localhost/” já temos o servidor funcionando e vemos algo assim:
Isso indica que o servidor subiu mas o domínio “localhost” não está configurado. Com o comando:
usdocker lemp domain-add localhost
Adicionamos o domínio “localhost” e já podemos começar a utilizar o servidor:
Como visto na primeira foto, o sistema indica qual é o diretório físico do servidor. No meu caso está em “/home/jg/.usdocker_data/lemp/localhost”
Ao copiar os arquivos para essa pasta o sistema automaticamente irá passar a servi-los.
Customizando o serviço LEMP
É possível customizar o serviço alterando algumas variáveis de ambiente. Se rodarmos:
usdocker lemp env
poderemos ver as variáveis de ambiente:
LEMP_IMAGE=byjg/php7-fpm-nginx:alpine
LEMP_DATA_FOLDER=${USD_DATA}/${USD_SERVICE}
LEMP_PORT=80
LEMP_SSL_PORT=443
e com isso podemos configurar da seguinte forma:
usdocker lemp setup --set LEMP_PORT 8080
usdocker lemp restart
Agora o serviço encontra-se na porta 8080 e não mais na 80