很迷惑,为什么有的人就喜欢把 Nginx 打包进去 Docker,然后暴露出来端口再给 Host 的 Nginx 反代?PHP 项目很多这么操作的,挺脑残的。
@orvice 暴露 php-fpm 端口出来不是不用经过两次 nginx 了。我觉得用两次 nginx 肯定是不优雅的。
@super 当以docker作为交付的时候,一个程序里并不只包含有php,可能还有些静态文件,因此统一用 php:nginx 作为基础镜像打包程序,没啥问题吧,nginx不只是处理php-fpm转发,还有路由规则配置静态文件的serve等。
@orvice 把 nginx 包进去确实方便了。拿出来会很麻烦,外边的 root path 和 php-fpm 的 root path 都不一样还得传进去,静态文件也得手动复制,我不知道 php-fpm 能否处理静态文件。Mastodon 的 Docker 是可以把部分静态文件传进 puma 然后加上长时间的缓存,所以无需用两次 nginx 。
@super 没啥问题吧,php的项目打包的话还是要用nginxa/apache,最终在暴露成service给ingress?