项目实战:LAMP 博客平台 WordPress 部署全攻略
项目简介 :WordPress 是全球最流行的开源博客平台,基于 PHP + MySQL 开发,拥有丰富的主题和插件生态。本文将带你使用 LAMP 架构(Linux + Apache + MariaDB + PHP)在 CentOS 7 上快速部署 WordPress。
一、节点规划与基础环境
1.1 节点规划
| 节点名称 | 节点 IP | 节点功能 |
|---|---|---|
| wordpress | 10.1.8.10/24 | LAMP 服务器(Apache + MariaDB + PHP) |
1.2 基础配置
bash
bash
# 设置主机名
hostnamectl set-hostname wordpress
# 配置静态 IP
nmcli connection modify ens33 ipv4.method manual \
ipv4.addresses 10.1.8.10/24 \
ipv4.gateway 10.1.8.2 \
ipv4.dns 10.1.8.2 \
autoconnect yes
# 重启网卡
nmcli connection up ens33
二、部署 LAMP 环境
2.1 一键安装所有组件
bash
bash
# 添加 EPEL 源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 一次性安装所有组件
yum install -y \
mariadb-server \
mariadb \
php \
php-fpm \
php-mysqlnd \
php-gd \
php-mbstring \
php-xml \
httpd
各组件作用一览:
| 组件 | 作用 |
|---|---|
httpd |
Apache Web 服务器 |
mariadb-server |
MariaDB 数据库服务端 |
php |
PHP 解释器 |
php-fpm |
PHP FastCGI 进程管理器 |
php-mysqlnd |
PHP 连接 MySQL 的驱动 |
php-gd |
图像处理(缩略图、验证码) |
php-mbstring |
多字节字符支持(中文) |
php-xml |
XML 解析支持 |
2.2 启动所有服务
bash
bash
# 启动并设置开机自启
systemctl enable mariadb --now
systemctl enable php-fpm --now
systemctl enable httpd --now
# 检查服务状态
systemctl status mariadb php-fpm httpd
三、安全初始化 MariaDB
bash
bash
mysql_secure_installation
操作流程与 ECshop 项目一致:
| 交互提示 | 推荐操作 |
|---|---|
| 当前 root 密码 | 直接回车(初始为空) |
| 设置 root 密码 | y → 输入 huawei |
| 删除匿名用户 | y |
| 禁止 root 远程登录 | n(项目环境) |
| 删除 test 数据库 | y |
| 刷新权限 | y |
四、创建 WordPress 数据库
bash
bash
mysql -uroot -phuawei
执行以下 SQL:
sql
-- 创建博客数据库
CREATE DATABASE wordpress;
-- 创建专用账号(仅允许本地登录)
CREATE USER wordpress@localhost IDENTIFIED BY 'huawei';
-- 授予全部权限
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost;
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出
EXIT;
五、部署 WordPress 源码
5.1 上传并解压
将 wordpress-4.9.4-zh_CN.zip 上传到 /root/ 目录:
bash
bash
# 解压
unzip wordpress-4.9.4-zh_CN.zip
# 复制到 Apache 默认站点目录
cp -aR wordpress /var/www/html/
# 设置属主为 Apache 运行用户
chown -R apache:apache /var/www/html/wordpress/
# 设置目录权限(755 确保 Apache 可读写)
chmod -R 755 /var/www/html/wordpress/
# 重启 Apache
systemctl restart httpd
5.2 手动配置 wp-config.php(推荐方式)
WordPress 安装过程需要写入 wp-config.php 文件,如果 Web 环境权限不足,可以手动创建:
bash
bash
cd /var/www/html/wordpress/
# 复制示例配置文件
cp wp-config-sample.php wp-config.php
# 编辑配置文件
vim wp-config.php
修改以下四个核心参数:
php
// 数据库名称
define('DB_NAME', 'wordpress');
// 数据库用户名
define('DB_USER', 'wordpress');
// 数据库密码
define('DB_PASSWORD', 'huawei');
// 数据库主机(本地用 localhost)
define('DB_HOST', 'localhost');
// 数据表前缀(多个博客共用数据库时可区分)
$table_prefix = 'wp_';
六、WordPress Web 安装
6.1 访问安装页面
浏览器访问:http://www.wzh.cloud/wordpress/
如果域名未解析,修改本地 hosts 文件:
text
10.1.8.10 www.wzh.cloud
6.2 填写站点信息
| 配置项 | 填写内容 | 说明 |
|---|---|---|
| 站点标题 | 我的个人博客 |
博客名称 |
| 用户名 | admin |
管理员账号 |
| 密码 | 自定义(如 admin123) |
建议使用强密码 |
| 您的电子邮件 | your@email.com |
管理员邮箱 |
| 搜索引擎可见性 | 建议保持默认 | 正式上线后再取消勾选 |
点击 "安装 WordPress" 按钮。
6.3 安装成功
安装完成后,系统会显示成功页面,点击 "登录" 进入管理后台。
七、访问 WordPress
7.1 前台首页
访问:http://www.wzh.cloud/wordpress/
可以看到默认主题的博客首页。
7.2 管理后台
访问:http://www.wzh.cloud/wordpress/wp-admin/
使用刚创建的管理员账号登录:
- 用户名:
admin - 密码:
admin123
登录后即可看到 WordPress 仪表盘,可进行:
- 撰写文章
- 更换主题
- 安装插件
- 管理评论
- 用户管理
八、常见问题排错
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 访问页面显示空白 | PHP 错误被隐藏 | 修改 /etc/php.ini 中 display_errors = On,重启 PHP-FPM |
| 数据库连接错误 | 账号/密码配置错误 | 检查 wp-config.php 中的 DB 信息 |
| 无法写入 wp-config.php | 目录权限不足 | chown -R apache:apache /var/www/html/wordpress/ && chmod -R 755 |
| 提示"建立数据库连接时出错" | MariaDB 未启动 | systemctl start mariadb |
| 主题/插件无法安装 | 目录权限不足 | chmod -R 755 /var/www/html/wordpress/wp-content/ |
| 固定链接(Permalink)404 | Apache 未开启重写 | 检查 httpd.conf 中 AllowOverride All 并确保 mod_rewrite 已加载 |
九、项目总结
通过本次实战,你已完成:
| 序号 | 技能点 | 状态 |
|---|---|---|
| 1 | CentOS 7 基础网络配置 | ✅ |
| 2 | LAMP 环境完整搭建(Apache + MariaDB + PHP) | ✅ |
| 3 | MariaDB 安全初始化与专用账号创建 | ✅ |
| 4 | WordPress 源码部署与权限设置 | ✅ |
| 5 | 手动/自动配置 wp-config.php | ✅ |
| 6 | Web 安装完成并访问后台 | ✅ |
十、扩展与进阶
10.1 使用域名访问
在生产环境中,建议绑定真实域名:
- 修改
wp-config.php中的WP_HOME和WP_SITEURL - 在 Apache 配置中设置
ServerName
10.2 启用 HTTPS
使用 Let's Encrypt 免费证书:
bash
bash
yum install -y certbot python2-certbot-apache
certbot --apache -d www.yourdomain.com
10.3 开启缓存加速
安装 WordPress 缓存插件(如 W3 Total Cache、WP Super Cache),或配置 Redis 对象缓存。
对比总结:
对比项 ECshop(LNMP) WordPress(LAMP) Web 服务器 Nginx Apache(httpd) 架构简称 LNMP LAMP PHP 通信方式 Nginx → PHP-FPM(9000 端口) Apache 内置 mod_php 或 PHP-FPM 适用场景 电商商城 博客/企业网站
两个项目覆盖了 LNMP 和 LAMP 两大主流 PHP 架构,是 PHP 运维开发的基础实战!