Skip to content

网站维护日志260211

重构计划

k8s-01k8s-02
IP地址118.89.53.75101.33.234.24

k8s-01

1、待办事项:

  • 重装系统
  • 安装 Nginx
  • 安装 Docker
  • 安装 Tmux
  • 使用 Docker Compose 维护应用而非 docker run
  • 更新 GitHub Actions 工作流和 SSH 私钥
  • 使用 Systemd 部署 pingcx 后端

2、操作明细:

配置远程连接客户端
bash
ssh-keygen -t rsa -b 4096 -C "luca@gmail.com"

# 清除旧服务器的指纹记录(~/.ssh/known_hosts),避免连不上
ssh-keygen -R 192.168.10.70

ssh-copy-id luca@192.168.10.70
查看系统基本信息
bash
# 完整系统信息
uname -a

# 显示内存使用情况
free -h
创建子用户

创建 luca 用户

bash
sudo adduser luca

切换到 luca 用户测试

bash
su - luca

# 验证方法
whoami

临时/整体给 sudo 权限

bash
sudo usermod -aG sudo luca

# 验证方法
groups luca

查看 sudo 日志

bash
# 查看所有 sudo 日志(推荐)
sudo journalctl _COMM=sudo -e

# 只看 luca 的 sudo
sudo journalctl _COMM=sudo | grep luca

# 实时监控
sudo journalctl -f _COMM=sudo
更新系统
bash
sudo apt update
sudo apt upgrade -y
安装 Nginx
bash
sudo apt install nginx -y
systemctl status nginx

# 开机自启
sudo systemctl enable nginx
安装 Docker(官方源方式)
bash
# 卸载旧版本
sudo apt remove docker docker-engine docker.io containerd runc

# 安装依赖
sudo apt install ca-certificates curl gnupg -y

# 添加 Docker 官方 GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 添加 Docker 源
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

# 验证
sudo docker run hello-world

# 允许普通用户运行 Docker(推荐)
sudo usermod -aG docker $USER
newgrp docker
安装 Tmux
bash
sudo apt update
sudo apt install tmux -y

tmux -V

Tmux 必知必会:

bash
# 启动新会话
tmux new -s mysession
# 分离会话
Ctrl+b  d
# 重新连接会话
tmux attach -t mysession
# 关闭会话
tmux kill-session -t mysession
macOS 下载镜像之后,推送到私有镜像仓库,然后云服务器从私有镜像仓库拉取
bash
# 在 Mac 上拉镜像时,强制指定目标平台
docker pull --platform=linux/amd64 mysql:8.0

docker tag mysql:8.0 ccr.ccs.tencentyun.com/falconluca/mysql:8.0

docker push ccr.ccs.tencentyun.com/falconluca/mysql:8.0

k8s-02

  • 安装 OpenClaw

Nginx 相关

1、配置文件加载逻辑:

  • /etc/nginx/nginx.conf
    • /etc/nginx/sites-available /etc/nginx/sites-enabled
      • default
      • api.pingcx.cn.conf

2、证书路径:/etc/nginx/conf.d/cert

3、上传腾讯云免费证书:

bash
scp -r ssl/ root@118.89.53.75:/etc/nginx/conf.d/cert

4、Nginx 更新配置文件、证书命令:

bash
nginx -t
nginx -s reload

腾讯云

1、资源明细:

  • SSL 证书
    • 免费的 SSL 证书每 3 个月更新 1 次
    • apiwww 手动操作
    • res 直接在控制台更新
  • COS 对象存储
    • 标准存储容量包 -> 10.00GB,到期:2026-07-27
    • CDN回源流量包 -> 10.00GB,到期:2026-06-02
    • 标准存储请求包 -> 10.00万次,到期:2026-06-11
    • 外网下行流量包
  • CDN
    • COS 源 -> 加速域名 res.pingcx.cn -> 绑定 SSL 证书
    • 资源包:
      • 日常流量包,到期:2026-06-01
      • 日常 HTTPS 请求包,到期:2026-06-01
  • 域名解析
    • 见域名解析表
    • 到期:2027-10-15
  • 轻量云
    • k8s-01 -> 2C4G50G,到期:2028-05-22
    • k8s-02 -> 2C2G70G,到期:2026-05-03
  • 容器镜像服务(免费)
    • 登录 docker login ccr.ccs.tencentyun.com --username=100006371794

2、域名解析表:

主机记录记录类型记录值
@A118.89.53.70
wwwA118.89.53.70
resCNAMEres.pingcx.cn.cdn.dnsv1.com.
apiA118.89.53.70

部署无名杀

Dockerfile
dockerfile
# -------- 构建阶段 --------
# 指定 Linux amd64 平台(Debian 12 bookworm)
FROM --platform=linux/amd64 node:22-bookworm AS builder

# 安装 pnpm
RUN npm install -g pnpm@9

WORKDIR /app

# 复制 pnpm 工作空间配置文件和所有 package.json(用于正确安装 monorepo 依赖)
COPY pnpm-lock.yaml package.json pnpm-workspace.yaml ./
COPY apps/core/package.json ./apps/core/
COPY apps/mobile/package.json ./apps/mobile/
COPY apps/electron/package.json ./apps/electron/
COPY packages/fs/package.json ./packages/fs/
COPY packages/jit/package.json ./packages/jit/
COPY packages/server/package.json ./packages/server/

# 安装依赖(包括 devDependencies 用于构建)
RUN pnpm install

# 复制项目源码
COPY . .

# 构建
RUN pnpm build

# -------- 运行阶段 --------
FROM --platform=linux/amd64 node:22-bookworm-slim AS runner

# 安装 pnpm
RUN npm install -g pnpm@9

# 安装必要的运行时依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    ca-certificates \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

# 复制 pnpm 配置和 package.json
COPY --from=builder /app/pnpm-lock.yaml /app/package.json /app/pnpm-workspace.yaml ./
COPY --from=builder /app/packages/fs/package.json ./packages/fs/
COPY --from=builder /app/packages/fs/dist ./packages/fs/dist/

# 复制前端静态文件
COPY --from=builder /app/dist ./dist

# 只安装生产依赖
RUN pnpm install --prod

# 暴露端口
# 8089 - Fastify 静态文件服务
EXPOSE 8089

# 启动服务
CMD ["node", "packages/fs/dist/entry.cjs", "--dirname=./dist"]

直接 build(已有平台声明)

bash
docker build -t noname:latest .

Docker 打 tag 并推送的命令:

bash
# 给镜像打 tag
docker tag noname:latest ccr.ccs.tencentyun.com/falconluca/noname:latest

# 推送到腾讯云镜像仓库(需要先登录)
docker login ccr.ccs.tencentyun.com
docker push ccr.ccs.tencentyun.com/falconluca/noname:latest

在 Linux 服务器上拉取运行:

bash
docker pull ccr.ccs.tencentyun.com/falconluca/noname:latest
docker run -d -p 8089:8089 --name noname ccr.ccs.tencentyun.com/falconluca/noname:latest