Docker nginx与php fpm的链接
我是docker的新手,因为我的docker compose没有显示错误,但当我尝试访问网页时,它会显示defualt nginx页面,但不会显示我的php应用程序,尽管nginx与php fpm链接,但我在这里遗漏了一些东西 这是我的docker-compose.yml文件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
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;
}
}