运维备忘 & 坑点记录
一页记:常用命令速查
Docker
- 查看容器 / 镜像
docker ps # 正在运行的容器
docker ps -a # 包含已退出的容器
docker images # 本地镜像
docker system df # Docker 占用空间
- 容器生命周期
docker run -it --rm IMAGE bash # 交互式临时容器
docker stop NAME && docker rm NAME # 停止并删除容器
docker logs -f NAME # 持续查看日志
- 清理无用资源(谨慎使用)
docker system prune -f # 删除无用容器/网络/构建缓存
docker image prune -a # 删除所有悬挂/未使用镜像
tmux
- 会话管理
tmux new -s vln # 创建新会话
tmux ls # 列出会话
tmux attach -t vln # 连接会话
tmux kill-session -t vln
- 常用快捷键(前缀默认
Ctrl+b)Ctrl+b c:新建窗口Ctrl+b n / p:切换下一/上一窗口Ctrl+b ":水平分屏Ctrl+b %:垂直分屏Ctrl+b d:脱离会话(留在后台运行)
Git
- 日常提交
git status
git add path/to/file
git commit -m "message"
git push origin master
- 回退相关
git log --oneline --graph --decorate
git diff HEAD~1 HEAD # 查看上一版差异
git restore path/to/file # 撤销工作区修改
大文件与构建产物已通过
.gitignore忽略:public/、static/files/、所有
Nginx
- 配置检查与重载
sudo nginx -t # 检查配置语法
sudo systemctl reload nginx # 平滑重载
sudo systemctl restart nginx # 重启
journalctl -u nginx -e # 查看 Nginx 日志
acme.sh(证书)
- 常用操作(以
codealan.top为例)
~/.acme.sh/acme.sh --list
~/.acme.sh/acme.sh --issue \
-d codealan.top -d www.codealan.top \
-w /var/www/letsencrypt
~/.acme.sh/acme.sh --renew -d codealan.top --force
Bug & Pitfall 记事本
记录经常踩坑的地方,方便以后排查与帮别人解坑。
Hugo / 静态资源
- 问题: 提交了
public/或大体积 PDF,GitHub 提示大文件警告。 - 现状:
.gitignore忽略public/、static/files/、以及所有*.pdf(static/**、content/**、public/**)。- 历史已经重建,当前仓库只包含源码与内容。
- 经验:
- 在服务器本地构建站点:
./build.sh
- 不要把
public/和 PDF 等大文件提交到 Git。
Nginx / stream 分流
- 问题: 443 端口既要给博客用,又要给 VLESS-Reality 使用。
- 解决:
- 使用
stream+ssl_preread按 SNI 分流:aws.amazon.com→ sui,codealan.top/www.codealan.top→ 博客。 - 注意
nginx.conf需要包含stream配置,例如:
- 使用
include /etc/nginx/stream.conf;
Docker / GPU 环境
- 问题示例: 容器里看不到 GPU / 驱动版本不匹配。
- 排查点:
- 宿主机是否安装正确的 NVIDIA 驱动 +
nvidia-container-toolkit。 - 检查宿主机与容器中的 GPU 可见性:
- 宿主机是否安装正确的 NVIDIA 驱动 +
# 宿主机检查
nvidia-smi
# 容器中检查(示例)
docker run --rm --gpus all nvidia/cuda:12.2.0-base nvidia-smi
终端与 tmux
- 问题: tmux 中中文 / Powerline 字体错位。
- 经验:
- 终端统一使用 Nerd Font / 等宽字体。
- 确认
$LANG与 locale 设置一致(如zh_CN.UTF-8):
echo $LANG
locale
之后遇到新的环境坑、兼容性问题,可以按模块继续往这个页面追加小节即可。