Alpine 轻量服务器初始化清单:时钟、Nginx、PHP 一篇配齐

Alpine 轻量服务器初始化清单:时钟、Nginx、PHP 一篇配齐

234
234
2026-10-01 / 0 评论 / 6 阅读 / 1460 字 / 正在检测是否收录...

Alpine Linux 是轻量服务器的最佳选择之一:整个系统装完不到 1G 内存,包管理简单,跑个 DNS/博客服务绰绰有余。这篇把我初始化 Alpine 服务器的完整清单整理出来,照着抄就行。

一、换国内源(加速 apk)

sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com\/alpine/g' /etc/apk/repositories
apk update

如果默认仓库缺 community 源,手动加一行(v3.20 对应你的版本)。

二、时钟同步(最容易忽略)

重要:云服务器初始时间可能错得离谱,而 TLS 证书验证、日志时间戳全依赖它。

apk add chrony
rc-service chronyd start
rc-update add chronyd default
date   # 确认时间正确

三、Nginx

apk add nginx nginx-mod-stream nginx-openrc
# 站点配置放 /etc/nginx/http.d/xxx.conf
# 注意删掉默认的 default.conf,避免 80 端口冲突
rc-service nginx start
rc-update add nginx default

做 443 分流时记得装 nginx-mod-stream(stream 模块做 TCP 转发用)。

四、PHP(Typecho 等博客用)

apk add php83 php-fpm php-pdo_sqlite php-simplexml php-mbstring \
    php-json php-curl php-openssl php-dom php-gd php-iconv php-ctype \
    php-bcmath php-tokenizer
# Alpine 的服务名是 php-fpm83
rc-service php-fpm83 start
rc-update add php-fpm83 default

php-tokenizer 必须装:Typecho 的 butterfly 主题调用 token_get_all,缺了直接 500 报错,排查了老半天才找到。

Nginx 的 fastcgi 块里记得传 host 参数:

fastcgi_param HTTP_HOST $host;
fastcgi_param host $host;

Typecho 读的是小写 host,不传会报 Undefined array key。

五、安全组

云控制台的安全组要放行实际用到的端口:22(SSH)、80/443(Web)、53/853(DNS)等。853/tcp 记得单独放行,很多教程只放 22 和 80,DNS 服务怎么都连不上。

六、开机自启检查

rc-update show | grep -E "nginx|php|chrony"

三个服务都出现在 default 里,重启后自动拉起,初始化才算完成。

Alpine 的精髓就是"少即是多":装什么、开什么,心里都有数,出了问题也容易排查。

0个赞
取消