树洞剪藏#剪藏#树洞剪藏

docker-compose部署wordpress-6.8.1(php7.4 swoole_loader mysql-8.4.5),适用ritheme RiPro-V5主题 - 开发调优 - LINUX DO

2025 年 5 月 14 日1 分钟
分享Twitter / XTelegram微博

同步来源:树洞剪藏 源站剪藏 ID:556 原文地址:https://linux.do/t/topic/649431

打开原文 · 打开源站剪藏快照


docker-compose部署wordpress-6.8.1(php7.4 swoole_loader mysql-8.4.5),适用ritheme RiPro-V5主题 - 开发调优 - LINUX DO

跳到主要内容

话题

我的帖子

关于

即将到来的活动

更多

外部链接

Status

T-Shirt

Connect

Webmail

Channel

Telegram

类别

开发调优

资源荟萃

文档共建

跳蚤市场

前沿快讯

网络记忆

福利羊毛

搞七捻三

运营反馈

深海幽域

所有类别

标签

抽奖

公告

精华神帖

快问快答

人工智能

所有标签

消息

收件箱

频道

常规频道

直接消息

聊天

Default

真诚 、 友善 、 团结 、 专业 ,共建你我引以为荣之社区。 《常见问题解答》

❤️ 再忍不住,也不要做这种事啊 ❤️

docker-compose部署wordpress-6.8.1(php7.4 swoole_loader mysql-8.4.5),适用ritheme RiPro-V5主题

开发调优

配置优化

5月 14 日

1 / 3

5月 14 日

5 分钟

fish2018

11 分钟

mysql 8.4.5 准备

1.创建目录

mkdir -p /data/wordpress mkdir -p /data/mysql8/{etc/mysql/conf.d,data,logs,files} sudo chown -R 999:999 /data/mysql8/data /data/mysql8/logs /data/mysql8/files sudo chmod -R 755 /data/mysql8/data /data/mysql8/logs /data/mysql8/files

2.创建配置 /data/mysql8/etc/mysql/conf.d/my.cnf

[mysqld] user = mysql secure_file_priv = /var/lib/mysql-files bind-address = 0.0 . 0.0 datadir = /var/lib/mysql pid-file = /var/run/mysqld/mysqld.pid character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci innodb_buffer_pool_size = 512 M innodb_redo_log_capacity = 536870912 default-time_zone = '+8:00'

配置文件赋权

sudo chown 999:999 /data/mysql8/etc/mysql/conf.d/my.cnf sudo chmod 644 /data/mysql8/etc/mysql/conf.d/my.cnf

wordpress镜像构建

官方的wordpress默认上传文件大小有限制,且官方wordpress-6.8.1镜像最低版本php8.1,

而安装RiPro-V5主题最好使用php7.4,否则可能版本不兼容,比如图片验证码功能失效,这个主题还依赖swoole_loader,

所以干脆直接重新构建一个镜像,Dockerfile可参考官方链接 GitHub - docker-library/wordpress: Docker Official Image packaging for WordPress

swoole-loader下载地址: https://compiler.swoole.com/encryptor/download/

FROM php:7.4-apache

Install system dependencies

RUN set -eux;
apt-get update;
apt-get install -y --no-install-recommends
libpng-dev
libjpeg-dev
libfreetype6-dev
libwebp-dev
libicu-dev
default-libmysqlclient-dev
libzip-dev
libmagickwand-6.q16-dev
curl
;
rm -rf /var/lib/apt/lists/*

Install PHP extensions

RUN set -eux;
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp;
docker-php-ext-install -j "$(nproc)"
bcmath
exif
gd
intl
mysqli
opcache
pdo_mysql
zip
;
pecl install imagick-3.4.4;
docker-php-ext-enable imagick

Set recommended PHP.ini settings for Opcache

RUN {
echo 'opcache.memory_consumption=128';
echo 'opcache.interned_strings_buffer=8';
echo 'opcache.max_accelerated_files=4000';
echo 'opcache.revalidate_freq=2';
} > /usr/local/etc/php/conf.d/opcache-recommended.ini

Set custom PHP.ini settings

COPY swoole_loader_74_nts.so /usr/local/lib/php/extensions/no-debug-non-zts-20190902/swoole_loader_74_nts.so RUN {
echo 'file_uploads = On';
echo 'memory_limit = 256M';
echo 'upload_max_filesize = 10M';
echo 'post_max_size = 10M';
echo 'max_execution_time = 600';
echo 'extension=swoole_loader_74_nts.so';
} > /usr/local/etc/php/conf.d/custom.ini

Install WordPress

ENV WORDPRESS_VERSION=6.8.1 RUN set -eux;
curl -o wordpress.tar.gz -SL "https://wordpress.org/wordpress-6.8.1.tar.gz" &&
tar -xzf wordpress.tar.gz -C /usr/src/;
mv /usr/src/wordpress /usr/src/wordpress-${WORDPRESS_VERSION};
rm wordpress.tar.gz;
chown -R www-data:www-data /usr/src/wordpress-${WORDPRESS_VERSION}

Configure Apache

COPY apache.conf /etc/apache2/sites-available/000-default.conf RUN a2enmod rewrite headers

Set working directory

WORKDIR /usr/src/wordpress-${WORDPRESS_VERSION}

Expose port

EXPOSE 80

Set the entrypoint

CMD ["apache2-foreground"]

docker build -t 2011820123/wordpress:6.8.1-php7.4 .

docker-compose启动服务

vi docker-compose.yaml

version: '3.3' services: wordpress: image: 2011820123/wordpress:6.8.1-php7.4 container_name: wordpress restart: always ports:

  • 8080:80 environment: WORDPRESS_DB_HOST: mysql:3306 WORDPRESS_DB_USER: bbs WORDPRESS_DB_PASSWORD: RGVsWi7imyHAen1Y7 WORDPRESS_DB_NAME: bbsgo_db WORDPRESS_TABLE_PREFIX: wp_ volumes:
  • /data/wordpress:/var/www/html depends_on:
  • mysql networks:
  • app_network

mysql: image: mysql:8.4.5 container_name: mysql command: --lower-case-table-names=1 restart: always environment: MYSQL_ROOT_PASSWORD: RGVsWi7imyHAen1Y7 MYSQL_USER: bbs MYSQL_PASSWORD: RGVsWi7imyHAen1Y7 MYSQL_DATABASE: bbsgo_db TZ: Asia/Shanghai volumes:

  • /data/mysql8/etc/mysql/conf.d/my.cnf:/etc/mysql/conf.d/my.cnf
  • /data/mysql8/data:/var/lib/mysql
  • /data/mysql8/logs:/var/log/mysql
  • /data/mysql8/files:/var/lib/mysql-files healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"] interval: 10s timeout: 5s retries: 3 deploy: resources: limits: memory: 4G networks:
  • app_network

networks: app_network: driver: bridge

创建、删除、重启

docker-compose up -d docker-compose down docker-compose restart

宿主机配置nginx

wordpress.conf

server { listen 80 ; server_name www.xuexiemeng.com; return 301 https: //$host$request_uri; }

server { listen 443 ssl http2; server_name www.xuexiemeng.com;

ssl_certificate /etc/ letsencrypt /live/ xueximeng.com / fullchain.pem; ssl_certificate_key /etc/ letsencrypt /live/ xueximeng.com / privkey.pem; ssl_protocols TLSv1 . 2 TLSv1 . 3 ; ssl_ciphers EECDH + AESGCM : EDH + AESGCM : AES256 + EECDH : AES256 + EDH ; ssl_prefer_server_ciphers on;

client_max_body_size 50m;

location / { proxy_pass http: //127.0.0.1:8080; proxy_set_header Host $host ; proxy_set_header X - Real - IP $remote_addr ; proxy_set_header X - Forwarded - For $proxy_add_x_forwarded_for ; proxy_set_header X - Forwarded - Proto $scheme ; proxy_set_header Upgrade $http_upgrade ; proxy_set_header Connection "upgrade" ; proxy_read_timeout 86400 ; } }

重启nginx,使配置生效

systemctl reload nginx

1

回复

13

浏览量

2

宗旨:白嫖到底 859662994 浴火重生

11 分钟

谢谢大佬

回复

fish2018

5 分钟

不想折腾构建镜像的,可以直接使用

2011820123/wordpress:6.8.1-php7.4

回复

此话题将在最后一个回复的1 个月后关闭。

分享

加入书签

举报

回复

已取消置顶

常规

您会在别人 @ 您或回复您时收到通知。

👕 岂曰无衣?与子同袍 👕️

推荐

相关

新话题和未读话题

话题列表,带有按钮的列标题可以排序。

话题

回复

浏览量

活动

全新重构!!基于Worker的在线剪贴板和文件分享服务,支持 Markdown、阅后即焚、文本/大文件分享、密码保护等功能,支持Docker部署,可作为WebDav挂载 115

开发调优

软件开发 , 配置优化 , Cloudflare

373

5.6k

2 天

教育邮箱申请 54

开发调优

快问快答

138

5.6k

4 天

开源啦!个人导航站 支持cf worker 一键部署 12

开发调优

纯水

164

4.1k

4 天

本地化部署笔记服务: AFFiNE,并启用AI支持(不需要购买AFFiNE付费服务) 122

开发调优

OpenAI , 配置优化

154

6.6k

15 天

【配置优化】我拿到VPS服务器必做的那些事 14

开发调优

VPS , 作品集

396

16.8k

19 天

有 143 个未读 话题 和 170 个新 话题,

或浏览 开发调优 中的其他话题

StripeM-Inner '> ">

相关文章