Outils pour utilisateurs

Outils du site


informatique:docker:nginx_php

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:docker:nginx_php [2019/01/10 14:50] florianinformatique:docker:nginx_php [2025/01/14 11:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 5: Ligne 5:
 ===== Objectif ===== ===== Objectif =====
  
-Le principe est de disposer d'un Docker clef en main pour la constitution d'un serveur web http(s) / php.\\+Le principe est de disposer d'un docker clef en main pour la construction d'un serveur web http(s) / php.\\
 {{:informatique:docker:nginx_php:selection_228.png?nolink&795x147}}\\ {{:informatique:docker:nginx_php:selection_228.png?nolink&795x147}}\\
-Le principe détaillé d'une installation manuelle sur le [[https://www.guillaume-leduc.fr/projet-installation-configuration-nginx-php-fpm.html|Blog de Guillaume]].+Le principe détaillé d'une installation manuelle sur le [[https://www.guillaume-leduc.fr/projet-installation-configuration-nginx-php-fpm.html|Blog de Guillaume]] ({{:informatique:docker:nginx_php:leduc_nginx.pdf|source en pdf}}  ). 
 + 
 +===== Installation du serveur web =====
  
-===== Installation docker ===== 
 Le repository docker : [[https://store.docker.com/community/images/richarvey/nginx-php-fpm|richarvey/nginx-php-fpm]] Le repository docker : [[https://store.docker.com/community/images/richarvey/nginx-php-fpm|richarvey/nginx-php-fpm]]
  
 ==== Installation simple ==== ==== Installation simple ====
  
-Modèle d'installation pour une base Nginx + PHP : +Modèle d'installation pour une base Nginx + PHP :<code>
- +
-<code>+
 docker run -d --restart=always --name="Nginx_WWW" \ docker run -d --restart=always --name="Nginx_WWW" \
 -p 80:80 \ -p 80:80 \
Ligne 23: Ligne 22:
 richarvey/nginx-php-fpm richarvey/nginx-php-fpm
 </code> </code>
 +
 +Ou en compose :
 +
 +<code yaml docker-compose.yml>
 +
 +version: "3"
 +
 +services:
 +  Nginx_Dokuwiki:
 +    container_name: Nginx_Interne
 +    image: richarvey/nginx-php-fpm
 +    ports:
 +      - "80:80/tcp"
 +    restart: always
 +    environment:
 +      - PUID=1000
 +      - PGID=1000
 +    volumes:
 +      - /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_Interne/:/var/www/html
 +</code>
 +
 ==== Installation avec gestion de la conf Nginx ==== ==== 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''  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. Il faut passer par les fonctionnalités git proposées par ce docker.
  
-Suivre la doc : https://gitlab.com/ric_harvey/nginx-php-fpm+Suivre la doc : [[https://gitlab.com/ric_harvey/nginx-php-fpm|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é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   * 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. +  * Lancer le docker avec les configurations git 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 :+
  
-<code>docker run -d --restart=always --name="Nginx_WWW"  +Pour ma part je fais le choix de ne stocker que la conf dans Git et pas le "code html". Du coup je propose un autre répertoire à Nginx monté comme volume avec l'option -v de docker.  Peut être que je ferai le choix plus tard de mettre tout sous git pour finalement assurer de la sauvegarde/versionning ..    In fine cela donne pour moi un truc du genre :<code> 
--p 80:80  +docker run -d --restart=always --name="Nginx_Dokuwiki"  
--v /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_WWW/:/var/html/public  +-p 8081:80  
--e 'WEBROOT=/var/www/html/public/' +-v /mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_Dokuwiki/:/var/www/public 
 -e "PUID=`id -u $USER`" -e "PGID=`id -g $USER`"  -e "PUID=`id -u $USER`" -e "PGID=`id -g $USER`" 
 -e '[email protected] -e '[email protected]
 -e 'GIT_NAME=floriantales'  -e 'GIT_NAME=floriantales' 
 -e 'GIT_USERNAME=floriantales'  -e 'GIT_USERNAME=floriantales' 
--e 'GIT_REPO=github.com/floriantales/Nginx_WWW+-e 'GIT_REPO=github.com/floriantales/Nginx_Dokuwiki
 -e 'GIT_PERSONAL_TOKEN=************************************'  -e 'GIT_PERSONAL_TOKEN=************************************' 
 richarvey/nginx-php-fpm:latest richarvey/nginx-php-fpm:latest
 </code> </code>
 +
 +Ne pas oublier d'ajuster la conf Nginx :
 +
 +<code>
 +[...]
 +    root /var/www/public;
 +[...]
 +</code>
 +
 +Pour mettre à jour la conf Nginx : commiter sur Github et faire un pull sur son docker via :
 +
 +<code>
 +docker exec -t -i <CONTAINER_NAME> /usr/bin/pull & docker restart <CONTAINER_NAME>
 +</code>
 +
 ===== Exemples de réalisation ===== ===== Exemples de réalisation =====
  
-Base NGinx et PHP FPM utilisée pour le [[:informatique:docker:dokuwiki|]] ou [[:informatique:docker:lbcalert|Cheky]]. \\+Base NGinx et PHP FPM utilisée pour le [[:informatique:docker:dokuwiki|]] ou [[:informatique:docker:lbcalert|Cheky]] et [[http://cv.floriantales.fr/|mon cv en ligne]]. \\
  \\  \\
 ~~socialite~~ ~~socialite~~
  
  
informatique/docker/nginx_php.1547131803.txt.gz · Dernière modification : 2025/01/14 11:19 (modification externe)