docker 中 wordpress 上传主题超过限制

在Docker环境下,通过自定义PHP配置解决WordPress上传主题或插件时的大小限制问题。具体步骤包括修改内存限制、上传文件大小等参数,并重新启动容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker 环境中使用 wordpress 上传主题时失败。因为 wordpress 默认上传文件的大小是 2MB....所以我们需要自定义配置文件。

操作系统是 centos 7.5

首先创建一个 upload.ini 文件,随意放在哪里都可以。我的在:/home/wordpress/upload.ini

里面写入配置,然后保存。

file_uploads = On
   memory_limit = 256M
   upload_max_filesize = 32M
   post_max_size = 32M
   max_execution_time = 360

然后把正在运行的容器停止:

docker container stop wordpress

删除:

docker container rm wordpress

最后重新运行:

docker run --name wordpress --link db:mysql -p 32768:80 -e WORDPRESS_DB_HOST=mysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=root -e WORDPRESS_DB_NAME=wordpress -e WORDPRESS_TABLE_PREFIX=wp_ -v /home/wordpress/upload.ini:/usr/local/etc/php/conf.d/uploads.ini -d wordpress

这条命令和之前的区别就是加了一条 -v 命令,表示使用我们刚才创建的文件配置。

冒号前面的路径写你自己创建的 upload.ini 文件路径 ,后面的不用动。

这样就可以随意上传你喜欢的主题或者插件了!

<think>嗯,用户想通过Docker Compose部署WordPress,并且优化性能,本地路径是/volume4/docker/wordpress。首先,我需要回忆一下Docker Compose的基本结构和WordPress的官方镜像使用方式。记得WordPress通常需要MySQL或者MariaDB作为数据库,所以docker-compose.yml里应该包含两个服务:wordpress和db。 接下来,用户提到了优化性能。常见的优化方法包括调整资源限制,比如CPU和内存,使用缓存,配置PHP OPcache,还有可能使用Nginx作为反向代理而不是默认的Apache。不过用户可能希望保持简单,所以先从基础优化开始。 然后,本地路径的问题。需要确保数据持久化,所以应该把数据库的数据目录和WordPress的文件目录挂载到宿主机上。用户给出的路径是/volume4/docker/wordpress,可能需要在这个路径下创建子目录,比如./mysql和./wp-content,这样即使容器删除,数据也不会丢失。 另外,网络配置也很重要,确保两个服务在同一个自定义网络下,这样它们可以通过服务名互相访问。比如在docker-compose.yml里定义一个网络,两个服务都连接上去。 用户可能还关心安全性,比如设置数据库的root密码、WordPress的数据库用户和密码,这些环境变量需要正确配置。还有可能需要调整PHP的内存限制,比如增加到256M或者更高,避免运行插件时内存不足。 关于性能优化部分,可能还需要配置MariaDB的innodb_buffer_pool_size,适当调整这个参数可以提升数据库性能。另外,PHP的OPcache启用也是很重要的,可以加速PHP脚本的执行。 最后,步骤要清晰,用户需要执行docker-compose up -d来启动服务,然后访问对应的端口,比如8000,完成安装。后续的维护,比如备份和更新,也需要简单提及,这样用户有个全面的了解。 需要检查一下所有的路径是否正确,环境变量是否匹配,特别是数据库的连接信息。另外,确保docker-compose.yml的语法正确,比如缩进和冒号的使用。可能还需要提醒用户根据实际硬件调整资源限制,比如CPU和内存的分配。 总结一下,步骤大概是:创建目录结构,编写docker-compose.yml,配置环境和资源限制,启动服务,然后进行后续优化和调整。这样用户就能顺利部署并优化WordPress的性能了。</think>以下是通过Docker Compose部署WordPress并进行性能优化的分步指南: --- ### 一、目录准备 ```bash mkdir -p /volume4/docker/wordpress/{mysql,wp-content} chmod -R 755 /volume4/docker/wordpress # 确保权限正确 ``` --- ### 二、编写docker-compose.yml 在`/volume4/docker/wordpress`路径下创建文件: ```yaml version: '3.8' services: db: image: mariadb:10.6 # 性能优于原版MySQL container_name: wp_db restart: always environment: MYSQL_ROOT_PASSWORD: your_root_password MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: your_db_password volumes: - ./mysql:/var/lib/mysql # 数据库持久化 networks: - wp_network deploy: # 资源限制 resources: limits: cpus: '1.0' memory: 512M wordpress: image: wordpress:php8.2-apache # 使用新版PHP container_name: wp_app restart: always depends_on: - db environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: your_db_password WORDPRESS_DB_NAME: wordpress PHP_MEMORY_LIMIT: 256M # 调整PHP内存限制 volumes: - ./wp-content:/var/www/html/wp-content # 主题/插件持久化 - ./php.ini:/usr/local/etc/php/conf.d/custom.ini # 性能优化配置 ports: - "8000:80" networks: - wp_network networks: wp_network: driver: bridge ``` --- ### 三、PHP性能优化配置 创建`php.ini`文件: ```ini ; OPcache配置 opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=10000 opcache.revalidate_freq=60 ; 上传限制 upload_max_filesize=64M post_max_size=128M max_execution_time=300 ``` --- ### 四、启动服务 ```bash cd /volume4/docker/wordpress docker-compose up -d ``` --- ### 五、验证部署 1. 访问 `http://your_server_ip:8000` 完成WordPress安装 2. 检查容器状态: ```bash docker-compose ps ``` --- ### 六、进阶优化建议 1. **数据库优化**: ```sql -- 在MySQL中执行 ALTER TABLE wp_options ENGINE=InnoDB; ALTER TABLE wp_posts ENGINE=InnoDB; ``` 2. **添加Redis缓存**: 在`docker-compose.yml`中添加: ```yaml redis: image: redis:alpine networks: - wp_network volumes: - ./redis-data:/data ``` 3. **Nginx反向代理**(替代Apache): ```nginx location / { proxy_pass http://wp_app:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } ``` --- ### 七、维护命令 ```bash # 查看日志 docker-compose logs -f # 更新镜像 docker-compose pull && docker-compose up -d # 备份数据 tar -czvf wp_backup.tar.gz /volume4/docker/wordpress ``` --- 通过上述配置: 1. 数据库使用更轻量的MariaDB 2. PHP OPcache提升脚本执行速度 3. 资源限制防止单容器耗尽系统资源 4. 持久化存储保证数据安全 5. 新版PHP8.2带来性能提升 建议根据实际硬件配置调整`deploy.resources`参数和OPcache内存分配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值