Wednesday, January 28, 2026

Discuz! X3.5 Release 20250901 环境部署最终稿

Discuz! X3.5 Release 20250901 是目前最稳定的版本。要在 AWS 部署一套高性能的社区系统,环境的选型至关重要。以下是基于最新技术栈的部署建议。

官方推荐基础配置:

  • PHP:5.6+ / 7.0+ / 8.0~8.2.x
  • 数据库:MySQL 5.5+ / 8.0.x、MariaDB 10.2.x

一、 核心组件版本澄清

在实际操作中,我们需要对版本号有精确的理解:

  • PHP 8.2.x: 建议使用当前的最高子版本,目前是 8.2.30。需注意,PHP 8.2 计划于 2026 年 12 月 31 日停止安全维护,建议定期关注后续 X3.5 对 PHP 8.3/8.4 的兼容性。
  • MySQL 8.0.x: 指代所有 8.0 系列版本,目前最高子版本是 8.0.45。目前 MySQL 8.0 虽临近标准支持期限,但在现有生态中仍是最稳妥的选择。
  • MariaDB 10.2.x:当前最高版本是 10.2.44。官方文档提及的 10.2 已于 2022 年 EOL。在现代 Linux 发行版中,建议跳过此版本。

二、 操作系统与 Web 服务器选型

由于部署在 AWS 环境,目前 Ubuntu 24.04 LTS (Noble Numbat) 是首选,其自带的软件包非常成熟:

1. Nginx 1.24.0 + PHP-FPM

Nginx 1.24.0 是 Ubuntu 24.04 LTS 的默认版本,它在处理多域名访问同一数据库的高并发场景下,具有明显优势。必须配合 PHP-FPM (FastCGI Process Manager) 使用,这种模式相比传统的 PHP-CGI 能够更高效地管理进程池,显著提升并发处理能力。

2. Apache 2.4.58 (Event MPM)

Apache 2.4.58 是 Ubuntu 24.04 LTS 的默认版本。如果习惯使用 Apache,严禁使用 Prefork 或 Worker 模式,必须启用 Event MPM。Event 模式解决了 Keep-Alive 链接长时间占用进程的问题,性能表现非常接近 Nginx。

三、 性能优化与特性配置

为充分发挥 Discuz! X3.5 的优势,必须配置以下核心特性:

  • 存储引擎: 统一使用 InnoDB,支持事务处理和行级锁,适合高频读写的社区环境。
  • 字符集: 务必使用 utf8mb4,这是支持 Emoji 表情和完整 Unicode 字符的基础。
  • 内存缓存: 强烈推荐配置 Redis。对于中大型社区,缓存能分担 70% 以上的数据库读取压力。
  • HTTPS: 必须全站强制 HTTPS,X3.5 已经完美适配 SSL 协议。

四、 PHP 关键扩展清单

编译或安装 PHP 时,请确保以下模块已启用:

扩展名称 核心用途
mysqli / pdo_mysql 数据库高性能连接
gd 图像处理(缩略图、水印、验证码)
curl 云端接口通信、第三方授权登录
mbstring 多字节字符串处理(中文环境必需)

五、 部署方案建议

  • 小微型站点: 1核 / 2G内存 / 1M带宽 (如 AWS t3.small)。
  • 中大型站点: 4核 / 8G内存以上 / 5M+带宽,配合 CloudFront (CDN) 加速静态资源。
  • 数据库决策: 考虑到成本控制,不建议在 RDS 上运行行将 EOL 的 MySQL 8.0 以避免昂贵的“延伸支持费”。建议在 EC2 上自建数据库,并配合 EBS 高性能云盘 (gp3) 以获得更好的 IOPS 控制。

本文更新于 2026 年 1 月 28 日。

Discuz! X3.5 部署进阶:解决 Ubuntu 24.04 下 MySQL 8.0 的 GLIBC 兼容问题

在最新的 Ubuntu 24.04 (Noble Numbat) 上部署 Discuz! X3.5 时,由于系统自带的 MySQL 版本过高,而手动安装 MySQL 8.0 官方包又会频繁遭遇 GLIBC 依赖版本警告,这已经成为了社区运维的一个痛点。

1. 为什么官方 .deb 包会报错?

Ubuntu 24.04 采用了非常新的 GLIBC 库(2.39+),而 MySQL 8.0 的发行包主要是针对旧版系统(如 Ubuntu 22.04)编译的。这导致 DPKG 校验失败,无法通过常规 apt install 完成安装。

2. 终极解决方案:使用 Generic Linux 二进制包

为了绕开系统的依赖锁死,建议放弃使用 .deb 安装包,改用 MySQL Generic Linux (x86, 64-bit) 二进制版本。这种方式将 MySQL 运行环境相对独立化,能有效避开 GLIBC 校验冲突。

# 核心安装逻辑参考:
1. 下载 mysql-8.0.x-linux-glibc2.x-x86_64.tar.xz
2. 解压至 /usr/local/mysql
3. 创建 mysql 用户并初始化 data 目录
4. 手动关联 libaio1 等基础库

3. 生产环境的优化配置

即便解决了安装问题,针对 Discuz! X3.5 的特性,在 AWS 上仍需注意:

  • 禁用严格模式: MySQL 8.0 默认开启了严格模式,有时会导致旧插件插入数据失败。建议在 my.cnf 中将 sql_mode 调整为较宽松的设置。或者,通常没问题,如果以后碰到某个老插件/老 SQL 报 group by 相关错误,再单独处理即可。
  • 调整用户认证: Discuz! X3.5 虽然支持了新的加密方式 caching_sha2_password,但为了稳妥,建议创建数据库用户时指定 IDENTIFIED WITH mysql_native_password。或者,当后面看到 Discuz/PHP 连接报认证相关错误时再改成 mysql_native_password。

4. 架构总结

  • OS: Ubuntu 24.04 LTS
  • Web: Nginx 1.24.0 (PHP-FPM) / Apache 2.4.58 (Event MPM)
  • PHP: 8.2.30 (必须手动加载 php-xml 和 php-gd)
  • DB: MySQL 8.0.45 (手动安装,部署在 EBS 上)

作者注:本文针对常用的 AWS EC2 实例进行了实测。

Sunday, January 25, 2026

彻底搞懂 AWS 登录体系

🔑 彻底搞懂 AWS 登录体系

AWS 的安全隔离设计要求 Root 和 IAM 用户走完全不同的路径:

用户类型 登录凭证 主要用途
Root User 邮箱 + 密码 账单管理、税务设置、关停账号
IAM User 别名 (Alias) + 用户名 + 密码 日常操作 (EC2, S3, RDS)

AWS IAM 访问密钥 (Access Key) 安全管理与配置指南

AWS IAM 凭据安全管理全指南:从存储到清零

在 AWS 开发过程中,Access Key 是连接本地开发环境与云端资源的钥匙。但由于它是一串无规律的字符,且 Windows 下的存储路径较为隐蔽,经常会导致“找不到”或“重装系统丢失”的问题。本文将为你梳理其存储逻辑,并提供基于 Bitwarden 的最佳管理方案。

AWS 美西选区指南:为什么俄勒冈 (us-west-2) 是面向中国访客的最佳性价比方案?

针对主要面向中国大陆及亚洲访客的应用,若不使用香港/新加坡等亚太区,AWS 美国西岸是公认的性价比之选。以下是针对大陆访问链路优化后的选区及架构方案。

AWS 账户登录全攻略:从 ID/别名配置到本地化运维

🛡️ AWS 账户登录全攻略:从 ID 配置到加拿大本地化运维

在登录 AWS 管理控制台时,正确区分 Account IDAlias 是确保顺利访问的第一步。AWS 的安全隔离设计要求 Root 用户和 IAM 用户遵循完全不同的登录路径。

一、 核心概念:Account ID vs. Alias

AWS 是一个多租户平台,IAM 用户登录时必须首先提供“账户地址”来指明所属的资源池。

  • 🔢 Account ID (账户 ID): 唯一的 12 位数字 标识符(如 1234-5678-9012)。它是账户的身份证号,注册时自动生成。
  • 🏷️ Account Alias (账户别名): 自定义的字符串(如 my-company-cloud)。用于替代难记的数字,并生成易读的专属登录链接。
⚠️ 注意: 登录后右上角显示的 "Account Name" 并不等同于 "Account Alias"。登录界面必须使用 ID 或 Alias。

二、 彻底搞懂 AWS 登录体系

用户类型 登录凭证 主要用途
Root User 邮箱 + 密码 账单、税务设置、关停账号
IAM User ID/别名 + 用户名 + 密码 日常开发操作 (EC2, S3)

🇨🇦 加拿大用户专属优化

1. 规避货币转换费

AWS 默认以 USD 计费。建议绑定美元信用卡 (USD Credit Card),以规避加拿大银行普遍收取的 2.5% 外币交易费

2. 减免 13% 的 HST 税费

如果您在安省有注册公司(包括自雇):

  • Billing → Tax Settings 中填入您的 GST/HST Business Number (BN)
  • 设置后账单将以 0% 税率呈现,优化企业现金流。

📋 AWS 运维快速核查表

✅ 安全上线

  • 开启 Root & IAM 的 MFA 二步验证
  • 设置 Billing Alarm 账单阈值告警
  • 安全组仅开放 80, 443, 22 端口

🔄 持续维护

  • ca-central-1 区定期执行快照
  • 每 90 天轮换一次 CLI Access Key
  • 检查 CloudWatch 的资源使用率

参考官方文档:Creating IAM Account Alias

Discuz! X3.5 正式版 (2025-09-01) 部署:Nginx 与 Apache 究竟如何选择?

2026 运维实战系列

Discuz! X3.5 部署:Nginx 与 Apache 究竟如何选择?

基于 Nginx 1.28/1.29 稳定版特性与多域名应用场景分析

在部署最新的 Discuz! X3.5 时,Web 服务器的选择往往决定了后续运维的复杂程度。是选择高并发之王 Nginx,还是选择稳健兼容的 Apache?本文将结合 2026 年初的最新版本特性,为你提供最终决策建议。

Discuz! X3.5 正式版 (2025-09-01) 使用环境与版本选择说明

技术部署深度指南 v2026.1

Discuz! X3.5 正式版 (2025-09-01)

使用环境与版本选择说明