背景
最近正好我的域名到期续费,就想着干脆也买个宝宝名字的域名吧,先搭个博客把域名养起来。
使用sqlite搭建wordpress博客
说到博客,脑海里第一个想到的就是wordpress。不过还是本着货比三家的思想调研了一圈cms,发现20+年过去了,还是wordpress最好用(只是想要个让我老婆能随时随地随手写文章的地,所以我自用的hugo+github.io的模式第一个排除了)。
但是接下来就发现,wordpress到现在还是默认mysql做数据库的,但我一个已经跑docker集群的家用小服务器,实在不想运行那么重型的mysql了。
原本想的是复用我家的mongodb,但搜了一圈貌似没有现成的方案。只好想到了文件数据库sqlite。
主要搭建过程参考的是:https://www.locol.media/blog/2023/09/14/running-wordpress-without-a-mysql-server-the-future-of-simplicity-and-portability/
sqlite插件
https://github.com/WordPress/sqlite-database-integration
docker-compose
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| version: '3.1'
services:
wordpress:
image: wordpress:latest
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- /mnt/nfs/zsd_server/docker/data/blog/wordpress_data:/var/www/html
ports:
- 80:80
- 443:443
network_mode: "host"
logging:
options:
max-size: "10m"
|
启动后手动修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| sudo mkdir /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/
sudo mkdir /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/plugins
sudo cp -r /home/zsd/sqlite-database-integration /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/plugins/
sudo cp /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/plugins/sqlite-database-integration/db.copy /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/db.php
sudo sed -i "s+{SQLITE_IMPLEMENTATION_FOLDER_PATH}+/var/www/html/wp-content/plugins/sqlite-database-integration+g" /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/db.php
sudo sed -i "s+{SQLITE_PLUGIN}+sqlite-database-integration/load.php+g" /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/db.php
sudo mkdir /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/database
sudo touch /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/database/.ht.sqlite
sudo chown -R www-data:www-data /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/database
sudo chmod -R 644 /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/database
sudo chmod 766 /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/database
sudo echo 'DENY FROM ALL' | sudo tee /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-content/database/.htaccess > /dev/null
sudo cp /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-config-sample.php /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/wp-config.php
sudo sed -i '1i \
<?php \
putenv("WORDPRESS_DB_HOST=localhost"); \
putenv("WORDPRESS_DB_USER=not-used"); \
putenv("WORDPRESS_DB_PASSWORD=not-used"); \
putenv("WORDPRESS_DB_NAME=not-used"); \
?>' /mnt/nfs/zsd_server/docker/data/blog/wordpress_data/index.php
|
使用aliyun ddns解析域名
配合ikuai软路由,解析到家庭服务器的ipv6地址。
wordpress开启缓存
装好后试了几把,发现有时网页打开会卡一会,估计还是家庭服务器(工控机)太弱了,所以就想着各种加速手段。
一开始尝试了wordpress官方的jetpack,但是启用设置时怎么都不成功。一查,有人说国内最好别打开jetpack,会导到国外的cdn去,更慢。
好吧,所以又查了一款也是官方的cache插件:WP Super Cache。安装需要手动改改,具体方案一查就有。总体来说还不错,感觉是快了些。