Drupal 8 + NGINX на Docker - проблема с настройкой

Главные вкладки

Аватар пользователя TINC TINC 20 июня 2020 в 23:20

Попробовав простейшую конфигурацию docker-compose, приведённую на странице контейнера drupal, и убедившись в её работоспособности, решил сделать всё "правильно" (в кавычках, так как толком не понимаю, как оно - правильно).
Взял за основу эту статью, решил, что это то, что надо: DRUPAL живёт в одном контейнере с PHP, а доступом из вне управляет NGINX, который, в будущем, позволит мне прикрутить ещё один сайт к серверу.
Но вот проблема - вместо страницы установки DRUPAL, показывается ERR_CONNECTION_REFUSED.
ОС - CentOS Linux release 8.2.2004

Код docker-compose.yml:

version: '3.1'

services:

  drupal:
    image: drupal:8.9.1-fpm
    container_name: drupal
    depends_on:
      - mysql
    networks:
      - internal
      - external
    volumes:
      - drupal-data:/var/www/html
    restart: unless-stopped

  mysql:
    image: mysql:8.0
    container_name: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: unless-stopped
    env_file: .env
!>    volumes:
      - db-data:/var/lib/mysql
    networks:
      - internal

  webserver:
    image: nginx:1.17.4
    container_name: webserver
    depends_on:
      - drupal
    restart: unless-stopped
    ports:
      - 80:80
    volumes:
      - drupal-data:/var/www/html
      - /data/nginx-conf:/etc/nginx/conf.d
    networks:
      - external

networks:
  external:
    driver: bridge
  internal:
    driver: bridge

volumes:
  drupal-data:
  db-data:

Код nginx-conf:

server {
    listen 80;
    listen [::]:80;

    server_name test.loc www.test.loc;

    index index.php index.html index.htm;

    root /var/www/html;

    location ~ /.well-known/acme-challenge {
        allow all;
        root /var/www/html;
    }

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    rewrite ^/core/authorize.php/core/authorize.php(.*)$ /core/authorize.php$1;

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

    location ~ /\.ht {
        deny all;
    }

    location = /favicon.ico {
        log_not_found off; access_log off;
    }
    location = /robots.txt {
        log_not_found off; access_log off; allow all;
    }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
}