如何给128M内存的小鸡搭建一个博客

1.系统环境准备(Debian/Ubuntu)
假设你的 VPS 是纯净的 Debian 11/12 或 Ubuntu 20.04+。
更新系统并安装基础工具

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl unzip

2.安装 Caddy 2(debian/ubuntu)

# 添加官方源并安装
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
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

# 验证
caddy version

3.安装 PHP 与 SQLite
我们安装 PHP 8.x 系列(性能更好)及必需的扩展。

sudo apt install -y php-fpm php-cli \
php-sqlite3 php-curl php-gd php-mbstring php-xml php-zip

验证安装

php -v        # 查看版本
sqlite3 -version  # 确认 SQLite 已安装

配置 PHP-FPM 优化(小内存调优)
编辑 /etc/php/8.3/fpm/php.ini(8.3替换为你的实际版本):

; 关键安全设置,防止路径攻击
cgi.fix_pathinfo=0
; 内存限制(根据你的 VPS 调整,64M 足够)
memory_limit = 64M
; 最大上传文件(小内存建议设小点)
upload_max_filesize = 8M

重启 PHP-FPM:sudo systemctl restart php8.3-fpm
4.下载 Typecho 博客

# 创建网站目录
mkdir -p /www/wwwroot/blog
cd /www/wwwroot/blog
# 下载 Typecho(请前往 GitHub Typecho/Typecho 页面获取最新稳定版链接)
wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip
sudo unzip typecho.zip
sudo rm typecho.zip
# 修正权限
sudo chown -R www-data:www-data /www/wwwroot/blog

5.配置 Caddyfile
Caddy 的配置文件通常位于 /etc/caddy/Caddyfile。编辑它(假设你的域名是 blog.yourdomain.com):

nano /etc/caddy/Caddyfile

配置如下

blog.yourdomain.com {
    root * /www/wwwroot/blog
    encode gzip
    
    # 静态文件直接服务
    @static {
        file
        path *.css *.js *.png *.jpg *.jpeg *.gif *.ico *.svg *.woff *.woff2 *.ttf *.eot
    }
    
    handle @static {
        file_server
    }
    
    # 其他请求交给 PHP
    handle {
        php_fastcgi unix//run/php/php8.3-fpm.sock
        try_files {path} {path}/ /index.php?{query}
    }
}

然后重载caddy

sudo systemctl reload caddy

在浏览器访问 https://blog.yourdomain.com(Caddy 会自动申请 SSL 证书)。
跟随 Typecho 安装向导,在数据库选择时:
数据库适配器:选择 PDO驱动的SQLite。
数据库文件路径:留空(默认保存在 /www/wwwroot/blog/usr下,请确保该目录可写)。
设置管理员账号,安装完成。
内存占用对比
传统 LNMP (Nginx+MySQL):启动后约 300-400MB。
本方案 (Caddy+PHP+SQLite):启动后约 60-100MB。

评论区: