Docker nginx与php fpm的链接

Docker nginx与php fpm的链接,php,docker,nginx,docker-compose,lumen,Php,Docker,Nginx,Docker Compose,Lumen,我是docker的新手,因为我的docker compose没有显示错误,但当我尝试访问网页时,它会显示defualt nginx页面,但不会显示我的php应用程序,尽管nginx与php fpm链接,但我在这里遗漏了一些东西 这是我的docker-compose.yml文件 version: '3' services: ### PHP-FPM Container php-fpm: build: ./build/php-fpm volumes: - .:/va

我是docker的新手,因为我的docker compose没有显示错误,但当我尝试访问网页时,它会显示defualt nginx页面,但不会显示我的php应用程序,尽管nginx与php fpm链接,但我在这里遗漏了一些东西

这是我的docker-compose.yml文件

version: '3'
services:
  ### PHP-FPM Container
  php-fpm:
    build: ./build/php-fpm
    volumes:
      - .:/var/www
    expose:
      - "9000"
    links:
      - mysql
      - redis

  ### NGINX Container
  nginx:
    build: ./build/nginx
    volumes:
      - ./logs/nginx/:/var/log/nginx
      - .:/var/www
    ports:
      - "85:80"
      - "443:443"
    links:
      - php-fpm

  ### Redis Container
  redis:
    image: redis
    expose:
        - "6379"

  ### MySQL Container
  mysql:
    build: ./build/mysql
    volumes:
      - ./datamysql:/var/lib/mysql
    expose:
      - "3306"
    environment:
      MYSQL_DATABASE: homestead
      MYSQL_USER: homestead
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: secret

  ### Redis Container
  redis:
    image: redis
    expose:
        - "6379"


volumes:
  data:
以下是php fpm和nginx Dockerfiles

php fpm nginx NGINX.Conf Site.Conf

尝试更改此
运行echo“上游php上游{server php fpm:9000;}”>/etc/nginx/conf.d/default.conf
请注意,您可以删除
docker compose.yml
中的所有
expose:
链接:
部分,功能没有差异。@adii解决方案不起作用。您可以共享nginx配置吗?
root/var/www/public
-在
/public
中有什么?请尝试更改此
运行echo“上游php上游{server php fpm:9000;}”>/etc/nginx/conf.d/default.conf
请注意,您可以删除
docker compose.yml
中的所有
expose:
链接:
部分,功能没有差异。@adii解决方案不起作用您可以共享nginx配置吗?
root/var/www/public
-在
/public
中有什么?
RUN docker-php-ext-install \
    pdo_mysql \
    pdo_pgsql

RUN usermod -u 1000 www-data

WORKDIR /var/www
RUN chown -R www-data:www-data /var/www

CMD ["php-fpm"]

EXPOSE 9000
FROM nginx:latest

ADD nginx.conf /etc/nginx/
ADD site.conf /etc/nginx/sites-available/

RUN echo "upstream php-upstream { server php-fpm:9000; }" > /etc/nginx/conf.d/upstream.conf

RUN usermod -u 1000 www-data

EXPOSE 80 443

CMD ["nginx"]
user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
  worker_connections  2048;
  multi_accept on;
  use epoll;
}

http {
  server_tokens off;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 15;
  types_hash_max_size 2048;
  include /etc/nginx/mime.types;
  default_type application/octet-stream;
  access_log on;
  error_log on;
  gzip on;
  gzip_disable "msie6";
  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-available/*;
  open_file_cache max=100;
}

daemon off;
server {
    listen 80 default_server;
    # listen [::]:80 default_server ipv6only=on;

    root /var/www/public;
    index index.php index.html index.htm;

    access_log /var/log/nginx/site.access.log;
    error_log /var/log/nginx/site.error.log;

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

    location ~ \.php$ {
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'DNT,Authorization,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type' always;
        add_header 'Access-Control-Expose-Headers' 'Location' always;

        try_files $uri /index.php =404;
        fastcgi_pass php-upstream;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}