适用读者:核对"那 11 篇零散环境笔记去哪了"的读者;本系列维护者。
性质:登记表 + 少量可直接复用的脚本。24 篇尾部旧文中,1 篇进了 J06,2 篇归回 S27,其余 11 篇在此登记。
覆盖旧文:4439(Linux 基础命令)、4387(docker 命令)、4388(docker 目录挂载)、4390(扩展磁盘)、4391(vagrant/virtualbox)、4392(Kuboard Spray)、3212(Docker 环境)、3213(Portainer)、3214(Nginx 环境)、4389(自动删除 nginx 日志)、3215(云服务器选购)→ 11 篇。
1. 逐篇登记
| 旧文 | 标题 | 字符数 | 处置 | 去向与理由 |
|---|---|---|---|---|
4439 |
Linux 基础命令(目录结构、ls/cd/pwd、隐藏文件) | 10,247 | duplicate_ref |
B02 文件与目录、B04 进程端口与内存 已系统讲;本篇为教材讲义顺序 |
4387 |
docker 一些命令 | 169 | duplicate_ref |
J04 Docker 基础 |
4388 |
docker 目录挂载机制 | 1,768 | duplicate_ref |
J04(bind mount vs volume 机制)+ J05(Compose 里写挂载) |
4390 |
linux 扩展磁盘(三种扩容方式) | 1,601 | appendix |
有价值的三分支判据,并入本文 §2 |
4391 |
安装 vagrant 和 virtualBox | 1,551 | needs_verification |
CentOS 7 box 已停止维护(EOL 2024-06),命令可参照但镜像需换 |
4392 |
安装 Kuboard Spray | 1,607 | needs_verification |
v1.0.1-amd64 固定标签,版本与兼容性待核 |
3212 |
Docker 环境配置 | 396 | duplicate_ref |
A03 多平台安装与中间件编排(镜像加速、daemon.json) |
3213 |
Portainer 环境配置 | 676 | appendix |
图形化管理器的取舍,并入本文 §4 |
3214 |
Nginx 环境配置 | 370 | duplicate_ref |
A01 Nginx 反向代理与 TLS |
4389 |
自动删除 nginx 日志 | 370 | appendix |
实用脚本,已修正后收进本文 §3 |
3215 |
云服务器选购(2c2g 1年50 等) | 2,195 | non_knowledge |
价格与机型时效性内容,发布即过期;选型判据改由 §5 给出 |
2. 磁盘扩容的三个分支(4390 的可复用结论)
先判"空间属于谁":
├─ 同一块盘还有未分配空间 → 扩分区(growpart)+ 扩文件系统(resize2fs/xfs_growfs)
├─ 需要新盘且想并入现有目录 → LVM:pvcreate → vgextend → lvextend → resize
└─ 新盘单独用 → 分区 + mkfs + 挂载 + 写 /etc/fstab(用 UUID,不用 /dev/sdX)
# 场景一:云盘已扩容但分区没长
lsblk; df -h
growpart /dev/vda 1
resize2fs /dev/vda1 # ext4;xfs 用 xfs_growfs /mountpoint
# 场景二:LVM 追加
pvcreate /dev/vdb && vgextend vg0 /dev/vdb
lvextend -r -l +100%FREE /dev/vg0/lv_data # -r 连带 resize 文件系统
# 场景三:新盘
mkfs.ext4 /dev/vdc1
blkid /dev/vdc1 # 取 UUID
echo 'UUID=xxxx /data ext4 defaults,noatime 0 2' >> /etc/fstab
mount -a && df -h /data
判据:fstab 一律用 UUID——云主机重启后设备名可能变化(/dev/vdb → /dev/vdc),用设备名会导致开机不进系统。
3. nginx 日志轮转:修正后的脚本(4389)
原文脚本用 mv + touch,能跑但有两个问题:权限与属主可能变化(touch 出的新文件属主是执行用户,nginx worker 可能写不了)、压缩缺失(30 天日志不压缩,占用大)。修正版:
#!/usr/bin/env bash
# /etc/cron.daily/nginx-logrotate (chmod +x)
set -euo pipefail
LOG_DIR=/var/log/nginx
OWNER=www-data:adm # 按实际 nginx 运行用户调整
KEEP_DAYS=30
for f in access error; do
[ -f "$LOG_DIR/$f.log" ] || continue
ts=$(date -d "yesterday" +%Y-%m-%d)
mv "$LOG_DIR/$f.log" "$LOG_DIR/$f-$ts.log"
install -o "${OWNER%%:*}" -g "${OWNER##*:}" -m 640 /dev/null "$LOG_DIR/$f.log"
gzip -f "$LOG_DIR/$f-$ts.log"
done
# 清理:按文件名日期删除
find "$LOG_DIR" -name '*.log.gz' -mtime +"$KEEP_DAYS" -delete
# 通知 nginx 重开文件句柄(比 reload 更轻)
nginx -s reopen
判据:更推荐 logrotate 而不是自写脚本——/etc/logrotate.d/nginx 自带 postrotate + create 语义、支持 su 指定属主,copytruncate 与 reopen 的取舍也已有成熟默认值。自写脚本只在容器或非标准路径下需要。
4. 容器环境三件套的取舍
| 工具 | 用途 | 判据 |
|---|---|---|
Docker 环境配置(3212) |
镜像加速、daemon.json、存储驱动 |
内网/国内环境必配镜像源;存储驱动优先 overlay2 |
Portainer(3213) |
图形化管理容器/镜像/卷 | 单人服务器用 CLI 更快;团队或多机才值得引入(多一个常驻服务与攻击面) |
Kuboard Spray(4392) |
图形化装 K8s 集群 | 学习/演示可用;生产按版本核对(镜像标签固定、组件版本耦合,待核) |
判据:"多一层图形界面 = 多一个要维护的服务"——只在"操作频率高 + 多人协作"时引入。
5. 云服务器选型判据(替代 3215 的价格表)
① 先算内存下限:JVM 应用 2 GB 起(堆 512 MB~1 GB + 元空间 + 直接内存 + OS);
MySQL 8 建议 ≥2 GB;ES 单节点 ≥2 GB(且堆 ≤ 物理内存一半)
② 再看带宽:1 Mbps ≈ 128 KB/s;静态站够用,含图片/下载按峰值 ×3 预留
③ 磁盘:系统盘 40 GB 起,数据盘独立挂载(扩容不影响系统盘)
④ 计费:长期跑选年付/预留,短期验证选按量;注意"首年特价 + 续费原价"
⑤ 合规:国内节点需备案;跨境业务看访问来源,别只看价格
判据:"价格表会过期,容量估算不会"——按 §5 的①②③估,再挑机型。
6. 缺口与待核
| 项 | 状态 |
|---|---|
4391 vagrant CentOS 7 box |
待核:CentOS 7 已 EOL(2024-06),镜像与 box 需替换 |
4392 Kuboard Spray 版本兼容 |
待核:镜像标签 v1.0.1-amd64 固定,K8s 版本耦合未验证 |
3215 具体机型与价格 |
non_knowledge(时效),判据已由 §5 重写 |
4389 原脚本属主/压缩问题 |
已修正(§3),原文未处理这两点 |
7. 下一篇
S15 系列验收(v2) —— 16 篇 / 7,451 点位 / 12 篇尾部旧文 + 2 篇归回 S27 / 下一系列(P17:S17 分布式 10 篇)前置依赖。
本篇属于系列《S15 · Linux 与运维》。旧文来源:A-4439、A-4387–4392、A-3212–3215、A-4389(11 篇环境小记);扩展点 E-S15-024(扩容三分支)、E-S15-025(日志轮转判据)。4389 原脚本的属主与压缩问题已在本篇修正。
上一篇:S15-J06 · Linux 部署实战清单:从单机组件到集群与监控