Прежде всего, может быть проще использовать Docker, предоставленный Grav .
Я попытался воспроизвести вашу проблему с помощью следующего манифеста:
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grav-data
spec:
accessModes:
- ReadWriteMany
volumeMode: Filesystem
resources:
requests:
storage: 1Gi
storageClassName: standard
---
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
run: web
name: web
spec:
replicas: 1
selector:
matchLabels:
run: web
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
run: web
spec:
volumes:
- name: shared-files
persistentVolumeClaim:
claimName: grav-data
- name: nginx-config-volume
configMap:
name: nginx-config
containers:
- name: app
image: php:7.4-fpm
imagePullPolicy: Always
volumeMounts:
- name: shared-files
mountPath: /usr/share/nginx/html:ro
- name: nginx
image: nginx:1.7
volumeMounts:
- name: shared-files
mountPath: /usr/share/nginx/html:ro
- name: nginx-config-volume
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
- name: tty
image: busybox:latest
command: [ "/bin/sh", "-c", "sleep 6000" ]
volumeMounts:
- name: shared-files
mountPath: /usr/share/nginx/html:ro
---
kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-config
data:
nginx.conf: |
events {}
http {
error_log /dev/stdout info;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /usr/share/www/html;
index index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
}
Я использую Minikube StorageClass, поэтому он автоматически предоставляет мне PersistentVolume по адресу / tmp / hostpath-provisioner / ..., смонтированный по адресу /usr/share/www/html:ro.
Я установил Grav с composer и запустил:
wget -O - localhost
Connecting to localhost (127.0.0.1:80)
wget: server returned error: HTTP/1.1 404 Not Found
То же самое с localhost / grav. Было бы здорово иметь некоторые дополнительные подробности, чтобы воспроизвести проблему (503).
Я думаю, что ваша жизнь будет намного проще, если вы развернете PHP -FPM и NGINX в отдельных модулях с сервисом абстракция, учитывая, что вам необходимо настроить связь через порт tcp (127.0.0.1:9000) или сокет unix (/var/run/php-fpm.sock).
Вероятно, вы не первый, кто установил PHP -FPM и NGINX, для этой установки есть отличное руководство по .