В данный момент я застрял в проблеме.У меня есть сервер, на котором я запускаю несколько докеров.
здесь мне нужно поставить php nginx.
У меня есть файл docker-compose, подобный этому:
version: 2
services:
web:
image: nginx:latest
ports:
- 'XXXX:80'
- 'XXXX:443'
volumes:
- ./code:./code
- ./site.conf:/etc/nginx/conf.d/default.conf
environnement:
- VIRTUAL_HOST:...
- LETSENCRYPT_HOST:....
- LETSENCRYPT_MAIL:....
networks:
- default
php:
build:
context: ./php
volumes:
- ./code:/code
networks:
- default
networks:
default:
external:
name:webproxy
Из-за моих сетей я получаю автоматику letsencrypt ssl
Мой dockerfile для php:
FROM php:7.2-fpm
RUN apt-get update \
&& apt-get install -y --no-install-recommends libpq-dev \
&& docker-php-ext-install mysqli pdo_pgsql pdo_mysql
Моя конфигурация:
server{
listen 80
index index.php index.html
server_name localhost
error_log /var/log/nginx/error.log
access_log /var/log/nginx/access.log
root /code
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php 9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info
}
}
Моя структура папок:что-то вроде:
- imgFolder
- GameFolder
- index.html
- service.php
- imgFolder
- cssFolder
- desktop.html
- mobile.html
- main.css
Кажется, что все в порядке, я заставляю мою docker-compose сочинять до -d. То, что мне кажется, все хорошо, так это:.HTML хорошо рендерится.SSL также хорошо применяется
Но иногда (не все время, а что-то наполовину) мой php-файл не был найден по запросу ajax (получил файл 404, не найденный в отладке сети)
Кто-то имел представление о том, почему мой service.php иногда не обнаруживается?
Не знаю, может ли это помочь, но у меня есть точно такой же докер, работающий рядом с этим (другой порт), и нет никаких проблем с моимвызов php файлов.