Skip to content

JY 运维环境

SSH

别名jy-test
主机154.89.148.95
端口3337(非 22)
用户root
密钥~/.ssh/id_ed25519_jy_test(无密码,供 Cursor Agent 用)
bash
ssh -o BatchMode=yes jy-test 'hostname'

BatchMode=yes 可测免密是否生效。详见 SSH 文档

服务器目录

路径内容
/opt/web/jysite博客静态站
/opt/web/jy-admin管理端 standalone 包
/opt/web/jy-admin/.env管理端环境变量(不进 Git
/opt/web/doc.jysite文档站静态文件
/opt/web/*.bak.*部署前备份

进程与服务

服务管理命令说明
jy-adminsystemctl status|restart jy-adminNode 监听 127.0.0.1:5174
MySQLsystemctl status mysqld本机 127.0.0.1:3306,库 blog_site
Nginxnginx -t && systemctl reload nginx反代 + 静态 root

管理端日志:

bash
journalctl -u jy-admin -n 80 --no-pager
journalctl -u jy-admin -f

Node 版本(CentOS 7 特殊)

官方 Node 22 需要 glibc 2.27+,CentOS 7 只有 2.17。使用:

  • 路径:/usr/local/node-v22
  • 构建:node-v22.22.1-linux-x64-glibc-217(unofficial-builds)

MySQL

  • 版本:8.0.46
  • 应用用户:blog(本地 + 远程 %
  • 管理端生产 .envDATABASE_HOST=127.0.0.1
  • 本机开发可指向测试机 IP

密码含 #.env 必须加引号。

Nginx 域名

域名类型
jianyi.my静态 root → /opt/web/jysite
admin.jianyi.my反代 → 127.0.0.1:5174
doc.jianyi.my静态 root → /opt/web/doc.jysite

证书:Let's Encrypt,certbot renew

传文件到服务器

大目录优先 tar + scp,rsync 经 3337 可能断:

bash
COPYFILE_DISABLE=1 tar -czf /tmp/pkg.tgz -C <dir> .
scp /tmp/pkg.tgz jy-test:/tmp/
ssh jy-test 'tar xzf /tmp/pkg.tgz -C <目标目录>'

macOS 打包加 COPYFILE_DISABLE=1 避免 xattr 警告。

改配置后的动作

改了什么动作
/opt/web/jy-admin/.envsystemctl restart jy-admin
jy-admin.service unitdaemon-reload + restart
Nginx confnginx -t + reload
静态站文件无需重启 Nginx(try_files 已配置)

禁止事项

  • 不要把 .env、PAT、私钥提交 Git 或写进 Skill/文档明文
  • 不要在 GitHub Actions if: 里用 secrets.*(会报错)
  • 不要对生产 MySQL 做无备份的破坏性操作

JY 项目文档