Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:virtualizacion:docker:docker_compose:nginx_php

Docker Compose: nginx + PHP

Despliegue de una arquitectura multicontenedor compuesta por un servidor web Nginx y un intérprete de PHP.

version: '3.4'

services:
  webserver:
    container_name: lar-nginx
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./htdocs:/usr/share/nginx/html
      - ./config/nginx/site.conf:/etc/nginx/conf.d/default.conf
  php:
    container_name: lar-php
    build:
#      dockerfile: Dockerfile
      context: .
    volumes:
    - ./htdocs:/usr/share/nginx/html

Contenido del fichero site.conf:

server {
    listen 80;
    index index.php index.html;
    server_name localhost;
    root /usr/share/nginx/html/;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass lar-php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

El nombre del host que se le pasa a fastcgi_pass debe coincidir con lo establecido en container_name.

Contenido del Dockerfile:

FROM php:7-fpm-alpine
RUN docker-php-ext-install mysqli pdo_mysql 
# RUN docker-php-ext-install session
# RUN docker-php-ext-install pdo

El directorio raíz desde el que el servidor web enviará los documentos está establecido en ./htdocs.

informatica/sistemas_operativos/virtualizacion/docker/docker_compose/nginx_php.txt · Última modificación: por tempwin