使用SQLite3和Caddy2搭建WordPress,轻量化搭建博客
使用SQLite轻量化部署Wordpress
使用SQLite3和Caddy2搭建WordPress,轻量化搭建博客
前言
对于部署WordPress来说,需要使用MySQL一直以来都是个大问题。MySQL相对过于臃肿了,SQLite3的性能完全足以承载绝大部网站的正常负载,绝大部分网站并没有头部网站的巨大访问量,却需要部署MySQL这种占用资源较大的数据库。
引入
本文将会使用SQLite3代替WordPress所需的MySQL数据库以减少大量不必要的资源占用,同时将使用Caddy2作为站点的WEB服务器,对于个人来说Caddy2在轻量化的同时更利于管理,自动化的HTTPS配置可以减少大量工作量。大幅度轻量化后,256mb内存也足以搭建WordPress。
部署LCSP环境
下文均以Debian12作为基本环境搭建LCSP(Linux+Caddy2+SQLite3+PHP)环境
1.安装PHP及相关依赖
apt update
apt install php php-cgi php-fpm php-curl php-gd php-mbstring php-xml php-sqlite3 sqlite3 php-mysqli unzip sed wget curl vim git sudo tar zstd -y
2.安装Caddy2
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
详细文档可查看:
- Caddy2官方文档
- Caddy2中文文档
3.开始安装WordPress-SQLite
1.拉取官方WordPress包
mkdir -p /var/www/html/wordpress
cd /var/www/html/wordpress
wget -q https://cn.wordpress.org/latest-zh_CN.zip
unzip -qq latest-zh_CN.zip
mv wordpress/* .
rm -rf latest-zh_CN.zip
rm -rf wordpress
2.拉取配置
由于目前WordPress对SQLite的支持尚不完善,需要拉取预先配置完成的 wp-config.php
和 .ht.sqlite
wget https://raw.githubusercontent.com/WJQSERVER/tools-stable/main/web/wordpress/wp-config.php
mkdir -p /var/www/html/wordpress/wp-content/database
cd /var/www/html/wordpress/wp-content/database
wget https://raw.githubusercontent.com/WJQSERVER/tools-stable/main/web/wordpress/db.sqlite
3.导入官方SQLite插件
通过将SQLite插件放入mu-plugins,以避免误操作而导致插件关闭
cd /var/www/html/wordpress/wp-content
mkdir -p mu-plugins
cd mu-plugins
wget https://downloads.wordpress.org/plugin/sqlite-database-integration.zip
unzip -qq sqlite-database-integration.zip
rm -rf sqlite-database-integration.zip
cp /var/www/html/wordpress/wp-content/mu-plugins/sqlite-database-integration/db.copy /var/www/html/wordpress/wp-content/db.php
sed -i "s#{SQLITE_IMPLEMENTATION_FOLDER_PATH}#/var/www/html/wordpress/wp-content/mu-plugins#" /var/www/html/wordpress/wp-content/db.php
sed -i 's#{SQLITE_PLUGIN}#sqlite-database-integration/load.php#' /var/www/html/wordpress/wp-content/db.php
4.对SQLite数据库进行修改
需要修改数据库内容以保证站点地址正确,否则将会出现问题
sqlite3 "$ROOT/wp-content/database/.ht.sqlite" <<EOF
UPDATE wp_options SET option_value = '站点地址' WHERE option_name = 'siteurl';
.quit
EOF
sqlite3 "$ROOT/wp-content/database/.ht.sqlite" <<EOF
UPDATE wp_options SET option_value = '站点地址' WHERE option_name = 'home';
.quit
EOF
5.设置权限
chmod 755 -R /var/www/html/wordpress
chmod 640 /var/www/html/wordpress/wp-content/database/.ht.sqlite
chown www-data:www-data -R /var/www/html/wordpress
4.配置Caddy2
编辑/etc/caddy/Caddyfile
站点地址 {
root * /var/www/html/wordpress
file_server
encode zstd gzip
php_fastcgi unix//run/php/php8.2-fpm.sock
}
重启Caddy2
systemctl restart caddy
结语
以上配置在Debian12内测试可行,系统环境不一致的情况下可能需要修改php监听地址