从零搭建 WordPress 博客(Nginx+PHP+SQLite)

📅 2026-10-13 20:32 👤 ajie2012 📁 服务器运维 👁 1 阅读

这篇是本站的搭建实录:Ubuntu 24.04 + Nginx + PHP 8.3 + WordPress + SQLite,不用 MySQL,1G 内存小服务器也能流畅跑。照着做,半小时上线。

环境选择说明

建站前先搞清楚”为什么选这套”,而不是盲目照抄。核心原则:先看你要装的程序/主题的文档要求,再选环境。

Web 服务器:Nginx vs Apache

  • Nginx:轻量、省内存、并发性能好,配置稍复杂
  • Apache:兼容性好,.htaccess 开箱即用,但内存占用高
  • 咱们选 Nginx:1G 小内存服务器,Nginx 更省资源

PHP 版本

不同程序要求的 PHP 版本不同。WordPress 官方要求 PHP 7.4+,推荐 8.1+。安装前先看程序文档,装对版本,装错了跑不起来。

数据库:MySQL vs SQLite

  • MySQL:功能全、性能好,适合正式大站,但要单独装服务、占内存
  • SQLite:零配置、就是一个文件,轻量,适合小博客、测试站
  • 咱们选 SQLite:1G 内存小机器,省掉 MySQL 的几百 M 内存;访问量大了再迁 MySQL 也不迟

一句话总结:小站求稳省钱用 SQLite+Nginx,大站求性能用 MySQL,具体看你的程序文档要求。

一、环境准备

一台 Ubuntu 24.04 服务器(AWS EC2 t2.micro 即可),已用 SSH 连上。

二、安装 Nginx + PHP

sudo apt update
sudo apt install nginx php8.3-fpm php8.3-sqlite3 php8.3-curl php8.3-mbstring php8.3-xml php8.3-zip php8.3-gd -y
sudo systemctl enable nginx php8.3-fpm
sudo systemctl start nginx php8.3-fpm

验证 PHP:php -v 应显示 8.3;php -m | grep sqlite 应有 pdo_sqlite。

三、下载 WordPress

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
sudo mkdir -p /var/www/html
sudo cp -r wordpress/* /var/www/html/
sudo chown -R www-data:www-data /var/www/html

四、配置 Nginx 虚拟主机

sudo nano /etc/nginx/sites-available/blog.conf
server {
    listen 80;
    server_name blog.example.com;  # 换成你的域名
    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }

    # 保护 SQLite 数据库目录
    location ~ /wp-content/database {
        deny all;
    }
    location ~ /\.ht {
        deny all;
    }
}
sudo ln -s /etc/nginx/sites-available/blog.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t && sudo systemctl reload nginx

五、配置 wp-config.php

cd /var/www/html
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

SQLite 插件会接管数据库连接,MySQL 的配置项随便填(不会真连):

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpress' );
define( 'DB_PASSWORD', 'wordpress' );
define( 'DB_HOST', 'localhost' );

重要:去 https://api.wordpress.org/secret-key/1.1/salt/ 生成 salts,替换掉 wp-config.php 里的 8 个占位符。

六、安装 SQLite 插件

  1. 浏览器打开 http://你的域名/wp-admin/install.php
  2. 按提示完成 WordPress 安装(设置站点标题、管理员账号)
  3. 登录后台 → 插件 → 安装插件 → 搜索 “SQLite Database Integration” → 安装并启用
  4. 启用后,插件会自动在 wp-content/ 下创建 db.php 和 database/ 目录

七、设置文件权限

sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;

八、配置 HTTPS(Certbot)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d blog.example.com  # 换成你的域名

按提示输入邮箱,同意条款,Certbot 自动配置 Nginx 并申请证书。证书 90 天有效,自动续期:

sudo systemctl status certbot.timer  # 确认自动续期已启用

九、基础设置

  1. 后台 → 设置 → 固定链接 → 选择”文章名”
  2. 后台 → 外观 → 主题 → 安装轻量主题(推荐 Astra)
  3. 后台 → 插件 → 安装缓存插件(推荐 WP Super Cache)
  4. 后台 → 设置 → 常规 → 确认站点标题、副标题

十、验证

  • 浏览器打开 https://你的域名,首页正常显示
  • 后台能登录、能发文章
  • curl -I https://你的域名 返回 200

常见问题

  • 白屏:看 Nginx 错误日志 sudo tail /var/log/nginx/error.log
  • 数据库连接错误:确认 SQLite 插件已启用,db.php 存在
  • 上传失败:检查 wp-content/uploads 权限是否为 www-data
  • 固定链接 404:确认 Nginx 配置里有 try_files 规则

本文为杰哥的折腾笔记原创教程,转载请注明出处。

发表评论