1586 字
约 5 分钟
12
S15-X02 · 环境配置与工具小记登记(附录)

适用读者:核对"那 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 部署实战清单:从单机组件到集群与监控

S15-X02 · 环境配置与工具小记登记(附录)
https://www.clxhxhhr.top/posts/5405/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。