ПРИМЕЧАНИЕ. Я разместил этот вопрос в переполнение стека тоже
Я пытаюсь настроить WordPress с помощью docker-compose, но WordPress должен работать в отдельном контейнере с php_fpm, контейнером для MariaDB и Nginx через порт 443, перенаправляющим на WordPress, если ссылка была HTTPS://локальный/WordPress
а если ссылка была HTTPS://локальный/
он должен отправить запрос на страницу index.html в том же контейнере.
все работает нормально, но у меня проблема с файлами WordPress CSS и js.
файл возвращает код ошибки 403 (запрещено), когда браузер пытается их получить
мой докер-композитор:
версия: '3'
Сервисы:
дБ:
изображение: MySQL: 5.7
имя_контейнера: mariadb
тома:
- БД-данные:/var/lib/mysql
порты:
- 3306:3306
среда:
MYSQL_ROOT_PASSWORD: testadmin
MYSQL_DATABASE: вордпресс
MYSQL_USER: администратор
MYSQL_PASSWORD: администратор
перезапуск: всегда
сети:
- сайт
вордпресс:
сборка: вордпресс/
тома:
- www-данные:/var/www/html
имя_контейнера: wordpress
зависит от:
- дб
порты: ['9000:9000']
среда:
WORDPRESS_DB_HOST: дб
MYSQL_ROOT_PASSWORD: mysql_root_pass
WORDPRESS_DB_NAME: вордпресс
WORDPRESS_DB_USER: администратор
WORDPRESS_DB_PASSWORD: администратор
WORDPRESS_TABLE_PREFIX: wp_table
сети:
- сайт
перезапуск: всегда
нгинкс:
сборка: nginx/
изображение: mynginx:mytest
имя_контейнера: my_nginx
тома:
- www-данные:/var/www/html
порты:
- 443:443
зависит от:
- вордпресс
сети:
- сайт
сети:
сайт:
тома:
БД-данные:
www-данные:
Докер файл nginx:
ОТ альпийского: 3.12.0
ЗАПУСТИТЬ обновление apk
RUN apk добавить nginx openrc vim
RUN apk добавить php7-common php7-icv php7-json php7-gd php7-curl php7-xml \
php7-mysqli php7-imap php7-cgi fcgi php7-pdo php7-pdo_mysql php7-мыло php7-xmlrpc \
php7-posix php7-mcrypt php7-gettext php7-ldap php7-ctype php7-dom php7 php7-fpm php7-opcache openssl
КОПИРОВАТЬ источник ./tmp/
ВЫПОЛНИТЬ mkdir -p /var/www/html/
RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt -subj "/C=MA /ST=Хурибга/L=Хурибга/O=1337/CN=ft_services"
ЗАПУСК mv /tmp/default.conf /etc/nginx/conf.d/
ЗАПУСК openrc
БЕГИ, коснись /run/openrc/softlevel
ДОБАВИТЬ src/run.sh .
ВЫПОЛНИТЬ chmod +x /run.sh
ТОЧКА ВХОДА [ "/run.sh" ]
default.conf
сервер {
слушать 443 ssl;
ssl_протоколы TLSv1.3;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
корень /var/www/html;
индекс index.html;
# индекс index.html index.htm index.php;
имя сервера _;
# client_max_body_size 32м;
# error_page 500 502 503 504 /50x.html;
# автоиндекс выключен;
# индекс index.php index.html index.htm index.nginx-debian.html;
# включить /etc/nginx/mime.types;
местоположение = /50x.html {
корень /var/lib/nginx/html;
}
место расположения / {
# Сначала пытаемся обслужить запрос как файл, затем
# в качестве каталога, затем вернуться к отображению 404.
индекс index.html;
# try_files $uri $uri/ /index.php?$args;
}
# передать PHP-скрипты серверу FastCGI, прослушивающему wordpress:9000
местоположение / wordpress {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# корень /var/www/html/;
fastcgi_pass 0.0.0.0:9000;
fastcgi_index index.php;
включить fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
докер файл вордпресс:
ОТ альпийского: 3.12.0
ЗАПУСТИТЬ обновление apk
ЗАПУСТИТЬ apk добавить openrc
RUN apk добавить php7-common php7-icv php7-json php7-gd php7-curl php7-xml \
php7-mysqli php7-imap php7-cgi fcgi php7-pdo php7-pdo_mysql php7-мыло php7-xmlrpc \
php7-posix php7-mcrypt php7-gettext php7-ldap php7-ctype php7-dom php7 php7-fpm php7-opcache
КОПИРОВАТЬ источник ./tmp/
ВЫПОЛНИТЬ mkdir -p /var/www/html
ЗАПУСК openrc
БЕГИ, коснись /run/openrc/softlevel
ЗАПУСТИТЬ sh tmp/wp-setup.sh
ДОБАВИТЬ src/run.sh .
ВЫПОЛНИТЬ chmod +x /run.sh
ТОЧКА ВХОДА [ "/run.sh" ]