项目实战 | 基于 LNMP(LAMP)架构从零搭建 WordPress 博客平台

本文以 CentOS 7 为底座,完整复现了在经典 LAMP 技术栈上部署 WordPress 博客平台的全过程------从服务器基础配置、运行环境搭建、数据库初始化与安全加固,到应用部署与 Web 可视化安装。全文流程闭环、可复现性强,适合作为 Linux 运维与建站入门的实战参考。

文章目录

    • [1. 认识 WordPress](#1. 认识 WordPress)
    • [2. 环境规划](#2. 环境规划)
    • [3. 系统基础配置](#3. 系统基础配置)
    • [4. 搭建 LAMP 运行环境](#4. 搭建 LAMP 运行环境)
    • [5. 数据库初始化与安全加固](#5. 数据库初始化与安全加固)
    • [6. 部署 WordPress 应用](#6. 部署 WordPress 应用)
    • [7. Web 可视化安装向导](#7. Web 可视化安装向导)
    • [8. 配置网站信息](#8. 配置网站信息)
    • [9. 后台管理与前台效果](#9. 后台管理与前台效果)
    • 总结

1. 认识 WordPress

WordPress 是一款开源的个人博客系统,并逐步演化为全球使用最广泛的内容管理系统(CMS)之一。它基于 PHP 语言与 MySQL 数据库开发,用户可以在任何支持 PHP + MySQL 环境的服务器上,轻松搭建并运营属于自己的博客站点。其官网提供完整的安装手册与安装包下载,生态成熟、文档齐全。

2. 环境规划

前提条件:使用 CentOS 7 模板克隆一台虚拟机作为实战节点。

节点名称 节点 IP 节点功能
wordpress 10.1.8.10/24 LAMP 一体化节点(Web + 数据库 + PHP)

说明:本实战以 Apache(httpd)作为 Web 服务,即经典的 LAMP 组合;若将 Apache 替换为 Nginx,即对应标题中的 LNMP 架构,二者在 WordPress 侧的部署流程完全相通。

3. 系统基础配置

bash 复制代码
# 设置主机名
hostnamectl set-hostname wordpress

# 配置静态 IP(地址、网关、DNS)并设置开机自动连接
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

4. 搭建 LAMP 运行环境

bash 复制代码
# 引入阿里云 EPEL 镜像源,加速第三方依赖安装
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

# 一键安装数据库、PHP 运行时及扩展、Web 服务器
yum install -y mariadb-server mariadb php php-fpm php-mysqlnd php-gd php-mbstring php-xml httpd

# 启动三大核心服务并设置开机自启
systemctl enable mariadb --now
systemctl enable php-fpm --now
systemctl enable httpd --now

5. 数据库初始化与安全加固

执行官方初始化脚本,以交互式问答完成安全加固:

bash 复制代码
mysql_secure_installation
# Enter current password for root (enter for none):   初次运行直接回车(默认空密码)
# Set root password? [Y/n] y                          设置 root 密码(示例:123)
# New password / Re-enter new password:               两次输入新密码
# Remove anonymous users? [Y/n] y                     删除匿名用户,收敛攻击面
# Disallow root login remotely? [Y/n] n               是否禁止 root 远程登录(生产环境建议 y,实战项目常用 n)
# Remove test database and access to it? [Y/n] y      删除默认 test 测试库
# Reload privilege tables now? [Y/n] y                刷新权限表,使全部改动立即生效

随后为 WordPress 创建专用数据库最小权限账号,避免业务直接使用 root:

bash 复制代码
# 登录 MariaDB 控制台
mysql -u root -p123

# 以下语句在 MariaDB 客户端内执行
> create database wordpress;
> create user wordpress@localhost identified by '123';
> grant all privileges on wordpress.* to wordpress@localhost;
> flush privileges;
> exit

6. 部署 WordPress 应用

本实战选用 wordpress-4.9.4 中文语言包,部署流程成熟稳定。将安装包上传至 root 家目录后执行:

bash 复制代码
# 解压安装包
unzip wordpress-4.9.4-zh_CN.zip

# 部署到 Web 站点根目录
cp -aR wordpress /var/www/html/

# 将目录属主赋予 apache 用户
chown -R apache:apache /var/www/html/wordpress/

# 重启 Web 服务使配置生效
systemctl restart httpd

7. Web 可视化安装向导

在客户端浏览器访问站点地址:http://www.laogao.cloud/wordpress/,即可进入 WordPress 安装向导欢迎页:

在「配置数据库」步骤中,填入前文准备好的数据库名、用户名与密码:

校验通过后,向导自动进入下一步安装流程:

替代方案:手动配置后端数据库

除向导外,也可以直接修改配置文件完成数据库接入:

bash 复制代码
cd /var/www/html/wordpress/
cp wp-config-sample.php wp-config.php
vim wp-config.php

在配置文件中更改如下四个关键参数:

bash 复制代码
/** WordPress 数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL 数据库用户名 */
define('DB_USER', 'wordpress');
/** MySQL 数据库密码 */
define('DB_PASSWORD', '123');
/** MySQL 主机 */
define('DB_HOST', 'localhost');
/** WordPress 数据表前缀 */
$table_prefix = 'wp_';

权限问题排查

若浏览器出现如下提示,说明 Web 目录写权限不足,WordPress 无法自动生成配置文件:

此时设置目录权限,确保 apache 用户可读、可写、可创建文件:

bash 复制代码
# 数字权限模式用 chmod,属主归属用 chown,二者配合使用
chmod -R 755 /var/www/html/wordpress/
chown -R apache:apache /var/www/html/wordpress/

Tip :原始笔记中的 chown -R 755 实际上是把 chmod 误写成了 chown------数字权限模式属于 chmod 的职责,而 chown 负责属主归属。两条命令配合使用,即可解决绝大多数权限类问题。

8. 配置网站信息

在「配置网站」页面填写站点标题与管理员账号信息,完成最后一步初始化:

看到如下界面即代表安装成功,点击「登录」即可进入管理后台:

9. 后台管理与前台效果

登录后台后,即可进行主题、插件、文章与页面的日常管理:

博客前台首页渲染效果如下,至此即可开始内容创作之旅:

总结

本次实战基于 CentOS 7,完整复现了在经典 LAMP 技术栈上搭建 WordPress 博客平台的全流程:从主机名与静态 IP 规划,到一键部署 MariaDB、PHP 与 Apache;从 mysql_secure_installation 安全加固、最小权限建库授权,到部署中文安装包并通过 Web 向导完成安装。整套流程形成了「环境准备 → 数据库初始化 → 应用部署 → 可视化配置 → 后台管理」的完整闭环,可复现性强。通过该项目,既能夯实 Linux 服务管理、权限控制与数据库操作的日常功底,也能深入理解 PHP 应用与关系型数据库的协同机制,为后续主题定制、插件扩展与生产级加固打下坚实基础。

相关推荐
soulermax2 小时前
cuda thread block 和 gpu thread warp 映射关系
架构·硬件架构
智码看视界2 小时前
Day49-AI微服务化-将大模型能力封装为标准微服务
java·微服务·ai·架构·大模型·sse流式输出·ai中台
使用小功能大师2 小时前
从零搭建高可用Web应用:全栈架构实战与成本优化完全指南
前端·阿里云·架构·服务搭建
Elastic 中国社区官方博客2 小时前
用两行 JSON 替换你的 ILM 策略:数据流生命周期新增冻结层支持
大数据·运维·elasticsearch·搜索引擎·架构·全文检索
meilindehuzi_a2 小时前
从 Vite 到 Axios 与 Mock:React Todos 全栈项目架构及请求链路详解
前端·react.js·架构
小张同学a.3 小时前
ELK企业级日志分析平台3——ES数据备份 & 集群监控 & ELFK+Kafka 架构部署
linux·运维·elk·elasticsearch·架构·kafka·filebeat
a3535413823 小时前
C++项目如何架构优化
java·c++·架构
万少8 小时前
DeepSeek 昨晚刚开源了 Harness:附万少的2 万字保姆级教程
前端·后端·架构
__zRainy__12 小时前
ClaudeCode 源码深度剖析:从零读懂 Agent 架构与 MVP 最小骨架实现
架构·agent·源码解读·claude code