我想我问了一个与this one有90%相似的问题,但我没有看到任何回应,所以我又把它放在这里。
大多数在网上找到的Docker + Nginx + PHP-fpm教程都将同一个代码目录挂载到Nginx和PHP-fpm。
但我不想。我只是想保留PHP-fpm作为响应Nginx请求的反向代理。
所以架构是:
Traffic <-> Nginx (as docker container) <-> php-fpm (as docker container)
- Nginx作为代理服务器,没有代码。
- PHP-fpm包含所有REST-API代码(本例中为Laravel),响应Nginx请求。
我可以使用fastcgi_pass
将流量从Nginx发送/定向到PHP,但由于Nginx没有代码,它将立即返回404 Not Found
。
有没有人能成功做到这一点?如果是,配置可以共享吗?
非常感谢你的帮助。
1条答案
按热度按时间z31licg01#
所有的人谁来自搜索引擎,或寻找一个解决方案。我为此写了一个要点。
https://gist.github.com/alucard001/4fc56ba20b58d9b1e69b5e3dce276f6a
我知道这违反了这里的规则,但我希望这仍然可以被接受,因为我付出了很多努力,使它的工作。
它使用Nginx + PHP(Swoole)而不是PHP-FPM。
谢谢
更新:这个Gist是针对Laravel的。如果您想在其他平台/项目上使用它(例如,Wordpress),请相应地更改您的
Dockerfile
或Dockerfile_base
。您可能需要将图像从
php:latest
更改为php:8-fpm
才能运行非Laravel PHP程序。