目录
- 准备工作
- 第一步:安装 LAMP/LEMP 栈
- 选择 1:安装 Apache (LAMP)
- 选择 2:安装 Nginx (LEMP)
- 第二步:创建 WordPress 数据库
- 第三步:下载并配置 WordPress
- 第四步:设置文件权限
- 第五步:通过 Web 完成安装
- 后续步骤:安全加固与优化
-
设置防火墙
(图片来源网络,侵删) -
禁用 root 登录 (SSH)
-
定期更新
-
安装缓存插件 (如 WP Rocket/W3 Total Cache)
-
配置 SSL (Let's Encrypt)
(图片来源网络,侵删)
-
- 常见问题与故障排除
准备工作
在开始之前,你需要确保拥有以下条件:
- 一台 Linux 服务器:推荐使用 Ubuntu 22.04 LTS 或 Debian 11,本教程将以 Ubuntu 22.04 为例,你可以使用任何云服务商(如阿里云、腾讯云、AWS、Vultr、DigitalOcean)或本地虚拟机。
- 一个域名:
my-awesome-blog.com,你需要将域名的 DNS A 记录指向你服务器的公网 IP 地址。 - 服务器的 SSH 访问权限:你需要通过 SSH 客户端(如 PuTTY, MobaXterm, 或 macOS/Linux 自带的终端)连接到你的服务器。
sudo权限:你使用的登录用户需要有sudo权限,以便安装软件和修改系统文件。
第一步:安装 LAMP/LEMP 栈
WordPress 需要一个 Web 服务器、一个数据库和一个 PHP 运行环境,LAMP 代表 Linux, Apache, MySQL, PHP,而 LEMP 则是用 Nginx 替代了 Apache,两者都可以,Nginx 通常在高并发场景下性能更好。
选择 1:安装 Apache (LAMP)
Apache 是最成熟、最兼容的 Web 服务器。
# 1. 更新软件包列表 sudo apt update # 2. 安装 Apache2 sudo apt install apache2 -y # 3. 检查 Apache 是否运行 sudo systemctl status apache2 # 如果看到绿色的 "active (running)" 字样,说明安装成功。 # 4. (可选) 在浏览器中访问你的服务器 IP,应该能看到 Apache 的默认欢迎页面。
选择 2:安装 Nginx (LEMP)
Nginx 是一个轻量级、高性能的反向代理和 Web 服务器。

# 1. 更新软件包列表 sudo apt update # 2. 安装 Nginx sudo apt install nginx -y # 3. 检查 Nginx 是否运行 sudo systemctl status nginx # 如果看到绿色的 "active (running)" 字样,说明安装成功。 # 4. (可选) 在浏览器中访问你的服务器 IP,应该能看到 Nginx 的默认欢迎页面。
安装 MySQL/MariaDB 数据库
MySQL 和其分支 MariaDB 是最常用的 WordPress 数据库,MariaDB 是 MySQL 的完全替代品,性能更好。
# 安装 MariaDB (推荐) 或 MySQL sudo apt install mariadb-server mariadb-client -y # 安全配置 MariaDB sudo mysql_secure_installation
mysql_secure_installation 是一个交互式脚本,会引导你完成以下操作:
- 设置 root 密码(务必记住!)
- 移除匿名用户
- 禁止 root 用户远程登录
- 移除测试数据库
- 重新加载权限表
对于每一步,都直接按
Y然后回车即可。
安装 PHP 和必需的扩展
WordPress 是用 PHP 编写的,需要安装 PHP 及其一些扩展。
# 1. 安装 PHP 和常用扩展 # Ubuntu 22.04 默认 PHP 版本是 8.1,对 WordPress 来说非常合适。 sudo apt install php libapache2-mod-php php-mysql php-fpm php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y # 如果你使用的是 Nginx (LEMP),你需要单独安装 php-fpm 并启动它 # sudo systemctl start php8.1-fpm # sudo systemctl enable php8.1-fpm
第二步:创建 WordPress 数据库
为了安全,我们不应该使用 root 用户来管理 WordPress,我们将创建一个专用的数据库和用户。
-
登录到 MySQL/MariaDB 控制台
sudo mysql -u root -p # 输入你在上一步设置的 root 密码
-
在 MySQL 控制台中执行以下命令
-- 创建一个名为 'wordpress_db' 的数据库,你可以自定义名字。 CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 创建一个名为 'wordpress_user' 的用户,并设置密码 'your_strong_password',请务必替换成你自己的强密码! CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_strong_password'; -- 将新创建的数据库 'wordpress_db' 的所有权限授予 'wordpress_user' 用户 GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; -- 刷新权限,使更改生效 FLUSH PRIVILEGES; -- 退出 MySQL 控制台 EXIT;
第三步:下载并配置 WordPress
现在我们下载 WordPress 文件到服务器并准备配置。
-
下载 WordPress
# 进入网站根目录,对于 Apache,通常是 /var/www/html;对于 Nginx,通常是 /var/www/html。 cd /var/www/html # 下载最新的 WordPress 压缩包 sudo wget https://wordpress.org/latest.tar.gz # 解压 sudo tar -xzvf latest.tar.gz # 解压后,wordpress 文件夹被创建,我们将它的内容移动到 html 目录,并删除压缩包 sudo mv wordpress/* . sudo rm -rf latest.tar.gz wordpress
-
创建
wp-config.php文件 WordPress 提供了一个示例配置文件wp-config-sample.php,我们需要复制它并修改。sudo cp wp-config-sample.php wp-config.php
-
编辑
wp-config.php文件 使用你喜欢的文本编辑器(如nano或vim)来编辑这个文件。sudo nano wp-config.php
找到以下部分,并用你在第二步中创建的数据库信息替换:
/** WordPress 数据库的名称 */ define('DB_NAME', 'wordpress_db'); /** MySQL 数据库用户名 */ define('DB_USER', 'wordpress_user'); /** MySQL 数据库密码 */ define('DB_PASSWORD', 'your_strong_password'); /** MySQL 主机 */ define('DB_HOST', 'localhost');高级安全设置(推荐): 在文件底部,你会看到
AUTH_KEY等安全密钥,不要自己编造,直接访问 WordPress 秘密密钥生成器 获取一组新的、随机的密钥,然后替换掉文件中的默认值,这可以大大提高你网站的安全性。编辑完成后,按
Ctrl + X,然后按Y,最后按Enter保存并退出。
第四步:设置文件权限
Web 服务器(Apache/Nginx)需要能够读取和写入 WordPress 的文件,我们需要修改文件的所有者和权限。
-
设置所有者 将
/var/www/html目录下的所有文件和文件夹的所有者设置为 Web 服务器的用户,对于 Ubuntu,Apache 和 Nginx 的用户都是www-data。sudo chown -R www-data:www-data /var/www/html/
-
设置权限 设置正确的文件和目录权限。
# 设置目录权限为 755 sudo find /var/www/html/ -type d -exec chmod 755 {} \; # 设置文件权限为 644 sudo find /var/www/html/ -type f -exec chmod 644 {} \; -
特别设置
wp-config.php的权限 这个文件包含敏感信息,应该有更严格的权限。sudo chmod 600 /var/www/html/wp-config.php
第五步:通过 Web 完成安装
所有的后端工作都已完成,剩下的就是通过浏览器进行图形化安装了。
-
在你的浏览器中访问你的域名或服务器 IP 地址,
http://your_server_iphttp://your_domain.com
-
你会看到 WordPress 的欢迎界面,选择你的语言,然后点击“继续”。
-
在接下来的页面中,填写以下信息:
- :你的网站名称。
- 用户名:你想要的管理员用户名(不要用
admin,以防暴力破解)。 - 密码:设置一个强密码,你也可以使用密码生成器生成的密码。
- 你的电子邮箱:管理员邮箱。
- 搜索引擎可见性:对于新站,可以勾选“阻止搜索引擎索引此网站”,直到你准备好正式上线。
-
点击“安装 WordPress”。
-
几秒钟后,安装完成!点击“登录”按钮,使用你刚刚设置的用户名和密码登录你的 WordPress 后台。
恭喜!你的 WordPress 网站已经成功运行在 Linux 服务器上了!
后续步骤:安全加固与优化
安装完成只是开始,为了网站的安全和性能,还有一些重要的工作要做。
设置防火墙
如果你启用了 UFW (Uncomplicated Firewall),只开放必要的端口。
# 允许 SSH 连接 (确保你不会把自己锁在外面) sudo ufw allow OpenSSH # 允许 HTTP (80) 和 HTTPS (443) 流量 sudo ufw allow 'Apache Full' # 如果使用 Apache # sudo ufw allow 'Nginx Full' # 如果使用 Nginx # 启用防火墙 sudo ufw enable # 输入 'y' 确认
禁用 root 登录 (SSH)
为了安全,建议禁止直接使用 root 用户通过 SSH 登录。
- 编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
- 找到
PermitRootLogin yes这一行,将其修改为PermitRootLogin no。 - 保存并退出,然后重启 SSH 服务:
sudo systemctl restart sshd
定期更新
保持你的服务器软件和 WordPress 核心及插件更新至关重要,你可以设置自动更新。
# 安装 unattended-upgrades sudo apt install unattended-upgrades -y # 配置自动更新 sudo dpkg-reconfigure -plow unattended-upgrades # 在弹出的界面中选择 'Yes'
安装缓存插件
缓存可以极大地提升网站的加载速度,推荐使用 WP Rocket、W3 Total Cache 或 LiteSpeed Cache。
配置 SSL (Let's Encrypt)
让你的网站通过 HTTPS 运行是现代网站的标配,这既安全又能提升 SEO。
# 安装 Certbot sudo apt install certbot python3-certbot-apache -y # 如果用 Apache # sudo apt install certbot python3-certbot-nginx -y # 如果用 Nginx # 自动获取和安装 SSL 证书 sudo certbot --apache # 自动配置 Apache # sudo certbot --nginx # 自动配置 Nginx # 按照提示输入你的邮箱和同意条款,Certbot 会自动完成所有配置。
Certbot 还会设置一个自动续期任务,确保你的 SSL 证书不会过期。
常见问题与故障排除
-
问题:访问网站时显示 "403 Forbidden" 错误。
- 原因:文件权限或所有者不正确。
- 解决:重新执行第四步的
chown和chmod命令。
-
问题:访问网站时显示 "Internal Server Error" 或 "Error establishing a database connection"。
- 原因:数据库连接信息错误、数据库服务未启动或 PHP-FPM 配置问题。
- 解决:
- 检查数据库服务状态:
sudo systemctl status mariadb或sudo systemctl status mysql。 - 仔细检查
wp-config.php文件中的DB_NAME,DB_USER,DB_PASSWORD,DB_HOST是否正确。 - 如果使用 Nginx,确保 PHP-FPM 服务正在运行,Nginx 的配置文件中
fastcgi_pass指向正确的 PHP-FPM socket(通常是/run/php/php8.1-fpm.sock)。
- 检查数据库服务状态:
-
问题:网页样式或部分功能无法正常显示。
- 原因:通常是
.htaccess文件问题(Apache)或 Nginx 配置未正确处理 WordPress 的伪静态规则。 - 解决:
- Apache:通常不需要额外配置,
.htaccess文件会被自动读取。 - Nginx:你需要修改 Nginx 的站点配置文件,添加 WordPress 的伪静态规则,搜索
try_files $uri $uri/ /index.php?$args;并确保它被包含在location /块中,修改后需要sudo systemctl reload nginx。
- Apache:通常不需要额外配置,
- 原因:通常是
这份教程涵盖了从零到一搭建一个功能完善、基本安全的 WordPress 网站的全过程,祝你建站顺利!
