簡體   English   中英

問題:最大上傳文件大小:Google Kubernetes Wordpress 中的 2 MB

[英]Problem with: Maximum upload file size: 2 MB in Google Kubernetes Wordpress

我部署了這個 Wordpress kubernetes 容器: https ://console.cloud.google.com/marketplace/details/google/wordpress ? project

但是我在 Wordpress 中上傳主題時遇到問題。 上傳的文件超過了 php.ini 中的 upload_max_filesize 指令。

我找不到文件:php.ini。 在 kubernetes 的 pod 中。

我嘗試使用插件在 Wordpress https://wordpress.org/plugins/php-settings/ 中編輯 php.ini,但沒有寫入文件。

有人可以通過分步指南幫助我修改容器的 yaml 或其他解決方案嗎?

正如這里所建議的,推薦的方法是掛載一個 php 配置 ini 文件。 公開它的最方便的方法是使用 Kubernetes ConfigMaps。 請創建一個新的配置映射:

apiVersion: v1
kind: ConfigMap
metadata:
  name: wp-php-config
  namespace: default
data:
  uploads.ini: |-
    file_uploads = On
    upload_max_filesize = 256M
    post_max_size = 256M
    memory_limit = 64M
    max_execution_time = 600

然后通過將以下配置添加到您的 pod spec.template.spec.containers來將 configMap 作為您的 pod 中的卷spec.template.spec.containers

... (wordpress container specs)
  volumeMounts:
    - mountPath: /usr/local/etc/php/conf.d/uploads.ini
      name: php-config
      subPath: uploads.ini

(...)

volumes:
  - configMap:
      defaultMode: 420
      name: wp-php-config
    name: php-config

您可能還需要調整入口最大上傳限制。 假設您使用的是 nginx ingress,請用注釋裝飾它:

nginx.ingress.kubernetes.io/proxy-body-size: 50m

如果要將更改全局應用到入口,請搜索入口 configMap 並在那里添加設置。

您可以執行 'kubectl get pods' 來列出 pods,然后使用 'kubectl exec -it [POD_NAME] -- /bin/bash' 進入 shell。 然后,您可以按照此鏈接中提到的方法更改值。

另一種選擇是使用類似於此鏈接的自定義配置創建一個ConfigMap ,以增加上傳文件的大小。

然后,您需要轉到 GKE 工作負載,在“StatefulSet”類型的“wordpress-1-wordpress”工作負載中,您需要修改 YAML 文件,您可以在其中將ConfigMap 數據添加到 Volume

另一種解決方法是,您可以重建您在 docker 文件中使用的映像。

這是我為解決問題所做的工作:

  1. 我將這些行添加到我的 Dockerfile

    上傳文件

    運行 touch /usr/local/etc/php/conf.d/uploads.ini \\ && echo "file_uploads = On \\n\\ max_execution_time = 600 \\n\\ upload_max_filesize = 200M \\n\\ post_max_size = 200M" >> /usr/local /etc/php/conf.d/uploads.ini

  2. 在 nginx-ingress dependencies.yml 中,我在 configmap 中添加了這些“數據”參數並且它起作用了。

    種類:ConfigMap apiVersion:v1 元數據:名稱:nginx-configuration 命名空間:ingress-nginx 標簽:app.kubernetes.io/name:ingress-nginx app.kubernetes.io/part-of:ingress-nginx 數據:proxy-body-尺寸:“200m”客戶端最大身體尺寸:“200m”

  3. 之后, *kubectl apply -f ingress/dependencies.yml*並且我能夠上傳超過 2mb。

試試這個,看看它是否適合你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM