Maison >outils de développement >composer >docker-composer crée rapidement un environnement nginx+php

docker-composer crée rapidement un environnement nginx+php

藏色散人
藏色散人avant
2022-01-18 16:09:563702parcourir

Cet article est écrit par la colonne tutorielle composer pour présenter comment utiliser docker-composer pour créer un environnement nginx+php simple. J'espère qu'il sera utile aux amis dans le besoin !

Structure dudirectory

➜  Study tree
├── conf
├── docker-compose.yaml
├── nginx
│   ├── conf
│   │   └── laravel.conf
│   └── html
│       └── index.php

index.php

<?php
/**
 * Created by OrangBus
 * User email: orangbus40400@gmail.com
 * website: orangbus.cn
 * blog: doc.orangbus.cn
 * github: github.com/orangbus
 */echo phpinfo();

nginx.conf

server {
 listen       80;
 server_name  localhost;

 location / {
 root   /usr/share/nginx/html;
 index  index.html index.htm index.php;
 }

 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
 root   /usr/share/nginx/html;
 }

 location ~ \.php$ {
 fastcgi_pass   php8:9000;
 fastcgi_index  index.php;
 fastcgi_param  SCRIPT_FILENAME  /html$fastcgi_script_name;
 include        fastcgi_params;
 }}

key notes

fastcgi_pass   php8:9000;

php8: Le nom du conteneur PHP, si vous souhaitez configurer plusieurs versions PHP, juste besoin Copiez simplement la configuration php et remplissez le nom du conteneur php correspondant

 php8: # php的容器名称
 image: php:8.0-fpm
 restart: always
 volumes:
 - ./nginx/html:/html--------------------------------
 php74: # 对应的nginx配置文件为:fastcgi_pass   php74:9000;
 image: php:8.0-fpm
 restart: always
 volumes:
 - ./nginx/html:/html
fastcgi_param  SCRIPT_FILENAME  /html$fastcgi_script_name;

/html : Le projet php est mappé au [répertoire du conteneur php] (rouge)

docker-compose

version: '3.5'services:
 nginx:
 image: nginx:latest restart: always ports:
 - 8010:80
 volumes:
 - ./nginx/html/:/usr/share/nginx/html # 注意点一
 - ./nginx/conf/:/etc/nginx/conf.d/ links:
 - php8 php8:
 image: php:8.0-fpm restart: always volumes:
 - ./nginx/html:/html #注意点二

Notez un Point:

./nginx/html : Adresse de votre projet PHP sur cette machine

/usr/share/nginx/html : adresse d'accès par défaut de nginx

Note 2 :

./nginx/html : Adresse de votre projet PHP local

/html : L'adresse ici mappe votre code PHP local au conteneur PHP. Il s'agit généralement de la même adresse que votre configuration nginx (rouge)

Conseil : Veuillez faire attention à la relation entre. les deux zones rouges de cette façon, un simple environnement lié à nginx+php est configuré avec succès.

Guide pour éviter les pièges :

Lors de l'utilisation de -link, le port personnalisé connecté au conteneur sera invalide, par exemple

version: '3.5'services:
 php8:
 image: php:8.0-fpm restart: always volumes:
 - ./nginx/html:/html links: # 如果使用 links ,当我们php程序中填写mysql端口的时候应该是 3306 而不是 3307,但是我们外部是需要用3307端口去连接mysql的
 - mysql mysql:
 image: mysql:latest ports:
 - 3307:3306

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer