Ceci est une ancienne révision du document !
Table des matières
Nginx PHP-FPM
Objectif
Le principe est de disposer d'un Docker clef en main pour la constitution d'un serveur web http(s) / php.
Le principe détaillé d'une installation manuelle sur le Blog de Guillaume.
Installation docker
Le repository docker : richarvey/nginx-php-fpm
Installation simple
Modèle d'installation pour une base Nginx + PHP :
docker run -d --restart=always --name="Nginx_WWW" \ -p 80:80 \ -e "PUID=`id -u $USER`" -e "PGID=`id -g $USER`" -v /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_WWW/:/var/www/html \ richarvey/nginx-php-fpm
Installation avec gestion de la conf Nginx
L'objectif est d'avoir la main sur le fichier de configuration Nginx suivant : /etc/nginx/sites-available/default.conf
Il faut passer par les fonctionnalités git proposées par ce docker.
Suivre la doc : https://gitlab.com/ric_harvey/nginx-php-fpm
- Création d'un dépôt git avec l'arborescence qui va bien (le fichier de conf se trouvera dans
/repos_root/conf/nginx/nginx-site.conf
) - Créer un token git pour accès via API. Afin que le docker puisse télécharger le repo
- Lancer le docker avec les configurations git qui vont qui vont bien.
Pour ma part je fais le choix de ne stocker que la conf dans Git et pas le “code html”. Du coup j'utilise la variable d'env WEBROOT pour proposer un autre répertoire à Nginx, autre répertoire que je monte comme volume avec l'option -v de docker. In fine cela donne pour moi un truc du genre :
docker run -d --restart=always --name="Nginx_WWW" \ -p 80:80 -v /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_WWW/:/var/html/public -e 'WEBROOT=/var/www/html/public/' -e "PUID=`id -u $USER`" -e "PGID=`id -g $USER`" -e '[email protected]' -e 'GIT_NAME=floriantales' -e 'GIT_USERNAME=floriantales' -e 'GIT_REPO=github.com/floriantales/Nginx_WWW' -e 'GIT_PERSONAL_TOKEN=************************************' richarvey/nginx-php-fpm:latest