Kubernetes - Nginx - PHP-FPM

Gua*_*ian 5 nginx docker kubernetes

我目前正在尝试使用 Kubernetes 并在负载平衡设置中部署包含 PHP Web 应用程序的不可变映像。

我读到的是,您的 PHP-FPM(显然)和您的 NGINX(这让我困惑)都需要包含您的应用程序(php)代码?

理想情况下,我想为 php-fpm 构建一个自定义 docker 映像,其中包含我的应用程序代码。但是对nginx做同样的事情感觉效率很低?

由于 nginx “只是”将 php 请求重定向到 php-fpm pod 的代理,因此我并不认为需要将我的应用程序代码也放在 nginx 容器中。

我在这里阅读: https: //stackoverflow.com/a/44900924/4875368 这似乎是一个类似的设置。

我的理想场景是有一个入口(nginx),它指向 nginx 代理,然后重定向到 php-fpm (如果它是 php 请求)。

如果我需要为 nginx 和 php-fpm 创建自定义图像,那么创建一个 apache-php 图像几乎感觉更聪明?

欢迎所有建议!

我当前正在查看的 nginx 配置如下所示

server {
    listen 80;
    index index.php index.html;
    server_name localhost;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/myprojectroot; <==== this is the one confusing me!

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎在概念上是相关的,但仍然让我想知道如何进行:https ://stackoverflow.com/a/49496411/4875368