非容器化 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 ...