本文小编就为大家带来一篇浅谈docker nginx无法解析php,直接把php文件下载了,File not find提示找不到页面。小编觉得挺不错的,现在就分享给大家,如果你在找docker nginx php配置,docker php,docker操作,也可以做个参考。一起跟随小编过来看看吧。
docker nginx无法解析php,直接把php文件下载了,File not find提示找不到页面
作者:小程序爱好者 发布时间:2020-01-01
使用docker容器架设nginx, php, mysql还是有许多坑的,
即使使用官方的镜像,
也有好多问题。
其中一个是
nginx容器能够正常访问html文件,
但是无法解析php类型的文件,
主要有以下一些原因,
有需要的朋友可以参考:
1) 直接下载php文件
访问php脚本时, 把php文件下载了, 原因是nginx的配置文件里, 没有正确配置php的解析项。 在lnmp环境里, nginx配置解析php-fpm时, 通常使用 127.0.0.1:9000 但是在docker容器里, 却不一定, 除非你的php和nginx在同一个容器里。 如果在不同的容器, nginx配置文件中需要写成类似下面的 php:9000 其中php表示你的php(php-fpm)容器名称 还要使用--network指定nginx和php使用相同的网络。2) nginx无法upstream
提示下面错误 *10 connect() failed (111: Connection refused) while connecting to upstream 这个原因是php(php-fmp)容器没有运行,或者端口错误。 一些朋友不使用官方的php镜像, 而是使用自己制作的php-fpm镜像, 启动php容器后, 会自动退出, nginx就无法upstream到php-fpm去解析。 解决的方法是: 使用docker ps -a 查看你的php-fpm容器状态, 看看是up 还是exit, 端口是否跟nginx配置文件中的一致(比如9000端口), 如果php-fpm容器是exit状态, 需要重启php-fpm容器。3) php容器找不到页面文件
还有一种情况, nginx容器能够解析html, 但是upstream到php-fpm容器时, 提示找不到文件, File not find 出现这种情况的原因是: nginx容器和php-fpm容器, 使用了不同的html映射目录或数据卷。 解决的方法是: nginx容器的html映射到宿主目录, 在php-fpm(php)容器也要做相同的映射。 猛击这里, 观看子恒老师《零基础lnmp安装指南》系列 了解实现过程和下载相关源代码声明:部分文章或图片未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知QQ:2334512685,我们会及时删除。
发布:秦子恒博客,欢迎转载分享,请保留出处。
docker nginx无法解析php,直接把php文件下载了,File not find提示找不到页面链接:https://www.qinziheng.com/details/8850/
docker nginx无法解析php,直接把php文件下载了,File not find提示找不到页面相关文章