我目前陷入困境。 我有一个运行多个docker的服务器。
在这里,我需要放置一个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
我的网络使我获得了自动加密的letencrypt ssl
我用于php的dockerfile是:
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吗?
Dunno,如果它可以帮助,但我得到了完全相同的docker compose与此一起工作(不同的端口),并且我的php文件调用没有问题。