Docker Kubernetes-Nginx-PHP-FPM

Docker Kubernetes-Nginx-PHP-FPM,docker,nginx,kubernetes,Docker,Nginx,Kubernetes,我目前正在试用Kubernetes,并在负载平衡设置中部署包含PHP Web应用程序的不可变映像 我读到的是,您的PHP-FPM(显然)和NGINX(这让我困惑)都需要包含您的应用程序(PHP)代码 理想情况下,我希望为php fpm构建一个包含我的应用程序代码的自定义docker映像。 但是对nginx做同样的操作感觉效率很低 由于nginx“只是”一个将php请求重定向到phpfpmpods的代理,因此我认为没有必要将我的应用程序代码也放在nginx容器中 我在这里读到: 这似乎是一个类似的

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

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

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

由于nginx“只是”一个将php请求重定向到phpfpmpods的代理,因此我认为没有必要将我的应用程序代码也放在nginx容器中

我在这里读到: 这似乎是一个类似的设置

我的理想场景是有一个指向nginx代理的入口(nginx),然后重定向到phpfpm(如果是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;
    }
}
服务器{
听80;
index.php index.html;
服务器名称localhost;
error\u log/var/log/nginx/error.log;
access\u log/var/log/nginx/access.log;

root/var/www/myprojectroot;关于nginx conf中的注释-您是否为此pod创建了共享卷?本教程可能会有所帮助: