从零搭建 WordPress 博客(Nginx+PHP+SQLite)
这篇是本站的搭建实录: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 插件
- 浏览器打开 http://你的域名/wp-admin/install.php
- 按提示完成 WordPress 安装(设置站点标题、管理员账号)
- 登录后台 → 插件 → 安装插件 → 搜索 “SQLite Database Integration” → 安装并启用
- 启用后,插件会自动在 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 # 确认自动续期已启用
九、基础设置
- 后台 → 设置 → 固定链接 → 选择”文章名”
- 后台 → 外观 → 主题 → 安装轻量主题(推荐 Astra)
- 后台 → 插件 → 安装缓存插件(推荐 WP Super Cache)
- 后台 → 设置 → 常规 → 确认站点标题、副标题
十、验证
- 浏览器打开 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 规则
本文为杰哥的折腾笔记原创教程,转载请注明出处。
