在Alpine环境下使用包管理部署Typecho博客
最近在逛 NodeSeek 时,看到网友分享的阿里云通过自定义镜像 156 块购买 5 年云服务器的办法,但存储只有 1G,使用 Docker 部署后存储空间太小,所以考虑直接用包管理来安装 Caddy2+PHP-FPM 来部署 Typecho 博客。
更换国内镜像源
因为使用的是国内服务器,apline 官方源访问很慢,所以更换成阿里云的源。vi /etc/apk/repositories 将其中的域名更换成 mirrors.aliyun.com,这里使用的是 Alpine v3.15 版本。
1 2
| https://mirrors.aliyun.com/alpine/v3.15/main https://mirrors.aliyun.com/alpine/v3.15/community
|
安装软件包
因为服务器内存只有 512MB,所以直接使用的 Sqlite,没有安装 Mysql 扩展,其他扩展(例如 memcached)可根据需求来增删。
1
| apk add php7-common php7-curl php7-ctype php7-fpm php7-fileinfo php7-gd php7-mbstring php7-pdo_sqlite php7-pecl-memcached php7-session php7-tokenizer php7-json php7-openssl openssl ca-certificates caddy memcached curl
|
配置 PHP-FPM
编辑 /etc/php7/php-fpm.d/www.conf 文件,修改如下:
1 2 3 4 5 6 7 8
| user = caddy group = caddy
listen = /var/run/php-fpm.sock
listen.owner = caddy listen.group = caddy listen.mode = 0660
|
配置 Caddy2
配置文件如下,写的比较简单,没有配置缓存等 header 信息:
1 2 3 4 5
| carefu.link { root * /public/home file_server php_fastcgi unix//var/run/php-fpm.sock }
|
开机自启动
1 2 3
| rc-update add caddy rc-update add php-fpm7 rc-update add memcached
|
启动服务
1 2 3
| rc-service caddy start rc-service php-fpm7 start rc-service memcached start
|
配置文件权限
安装 Typecho 过程中,需要修改 /public/home 文件夹权限,避免安装过程中目录不可写。
1
| chown caddy:caddy -R /public/home
|