项目实战 | 基于 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 应用与关系型数据库的协同机制,为后续主题定制、插件扩展与生产级加固打下坚实基础。

相关推荐
hzxpaipai1 小时前
企业官网技术架构拆解:前端、后台、数据库、服务器如何协同
前端·数据库·架构
2601_963749101 小时前
越华环保集团数字化污水治理:端边云采集架构与平台对接实现
java·大数据·架构
Eloudy2 小时前
HSB FPGA 架构总体
fpga开发·架构
yychen_java2 小时前
九:Text-to-SQL 智能数据查询与 Human-in-the-Loop 人机协作
java·人工智能·架构
wuyk5553 小时前
从零吃透Modbus通信|第7章:终极工程整合(模块化架构、双模式主机从机、RTOS适配、量产级模板)
c语言·stm32·学习·架构
人生百态,人生如梦4 小时前
每日论文解读(9.2)——SwarmBench:面向LLM Agent Swarm编排能力的多维评估基准与经验增强框架
架构·agent
Vespeng4 小时前
打破传统 MVC:在 Go 中实践高内聚的业务驱动架构
架构·go·gin
用户3434612783206 小时前
.NET 中任务调度的底层机制与你可能不知道的隐藏陷阱
架构
咖啡无伴侣6 小时前
2. 从零搭建企业级 Monorepo 工程化模板:ESLint 10 (基础骨架)+ Prettier 配置与避坑指南
前端·架构