容器化部署 Wordpress 的乙個坑

2021-08-29 01:30:43 字數 1860 閱讀 3748

非容器化 nginx + docker-compose 容器化 wordpress 後,**庫上傳報錯:http 錯誤

其實這個問題的原因非常多,網上文章一大堆( ),但是本文中所遇到同樣問題的原因卻比較詭異:nginx client_max_body_size 引數必須要和 php 的 post_max_size 引數值一致。

1.修改 wordpress 容器 php 引數

新建 uploads.ini 檔案,將該檔案掛載到容器:/usr/local/etc/php/conf.d/uploads.ini 檔案

uploads.ini:

file_uploads = on

memory_limit = 128m

upload_max_filesize = 512m

post_max_size = 128m

max_execution_time = 600

docker-compose 檔案新增卷,將檔案掛載到容器

volumes:

- ./wp_site:/var/www/html

- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini

2. 修改 nginx client_max_body_size 引數配置

這個是坑的地方,這個引數的值必須要和上一步 php post_max_size 引數的值一致,否則還是報同樣的 http 錯誤。之前沒注意這個問題,按照網上各種配置調整,均不起作用,後來經過各種猜測測試,其實問題的根因就在這裡:nginx client_max_body_size 引數必須要和 php post_max_size 引數的值一致。

容器外掛程式檔案 uploads.ini 是定義 php 的一些引數配置,比如最大檔案上傳大小、post 請求體大小限制、記憶體大小限制等等,這個檔案掛載是可選的,但是如果要自定義 php 引數可以這麼做。

version

:'3.3'

services:db

:image

: mysql:

5.7volumes

:- ./db_data:/var/lib/mysql

restart

: always

environment

:mysql_root_password

: somewordpress

mysql_database

: wordpress

mysql_user

: wordpress

mysql_password

: wordpress

wordpress

:depends_on

:- db

image

: wordpress:latest

volumes

:- ./wp_site:/var/www/html

- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini

ports:-

"9001:80"

restart

: always

environment

:wordpress_db_host

: db:

3306

wordpress_db_user

: wordpress

wordpress_db_password

: wordpress

kafka 容器化部署

首先我們分別執行如下兩個命令將wurstmeister zookeeper和wurstmeister kafka docker pull wurstmeister zookeeper docker pull wurstmeister kafka 1 執行如下命令啟動zookeeper容器 docke...

Docker容器化部署技術

docker是乙個開源的應用容器引擎,它讓開發者可以將應用及其依賴環境打包起來在乙個可移植的容器 中執行,不同容器是相互隔離的,互不影響,相比虛擬機器,docker容器更加輕量級,開銷更小。docker有兩個版本,社群版 docker ce 和企業版 docker ee 社群版是免費的,適合個人或小...

angular應用容器化部署

完整的 dockerfile 如下 from node as builder set working directory run yarn yarn run build from nginx stable alpine copy from dist to nginx root dir expose ...