laradock 环境下,PHP 该如何实现本地域名通信啊?
知识背景:
- windows 下使用 laradock 作为开发环境
- 使用 phpstrom IDE,并且通过 ssh 的方式连接 workspace 来实现了单元测试
- 有两个本地域名 a.test 、b.test,在宿主机均可访问(大前提)
- 但是但是但是,在项目中却无法使用 curl 来相互访问,着实令人抓狂
- 为了探索答案,梳理知识的过程,顿悟了以下知识,希望对你们也有所帮助
阅读收获:
- 梳理 laradock 环境下, php-fpm、cgi 模式运行时各容器之间的关系
- 解决本地域名间无法通信问题
- 查看 laradock 容器的IP
梳理两种模式
1、PHP-FPM模式
- 宿主机访问 a.test
- 由于宿主机做了映射
127.0.0.1 a.test,请求实际访问的是宿主机的 80 端口 - laradock 环境下,因 nginx 容器的 80 端口映射到宿主机的 80 端口,那实际提供 web 服务的是 nginx 容器中监听了 80 端口的 nginx
- 进入 nginx 容器查看 a.test 站点的 nginx 配置,要点配置有 站点域名,目录,主页,以及 fastcgi pass 指定的 php-upstream 处理程序(此时很懵逼,究竟是什么程序处理了代码?)
- 查看 nginx 容器的 Dockerfile 文件,看到如下代码
RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PH


1157

被折叠的 条评论
为什么被折叠?



