惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
月光博客
月光博客
量子位
大猫的无限游戏
大猫的无限游戏
Stack Overflow Blog
Stack Overflow Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
P
Proofpoint News Feed
B
Blog RSS Feed
美团技术团队
腾讯CDC
C
Check Point Blog
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
J
Java Code Geeks
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享

侠客岛

全栈云盘香港站,注册即得100t云盘空间 剪影v5.1.3高级版 无限AI文生图 剪辑全能神器 手机通畅魔盒v5.3.4 手机卡顿就用它 流畅神器 数据全量迁移,预计一天 抖虫v1.0 专业的视频文案提取、二改工具 365小时光v7.3非 常强大的日历管理 附多种实用 《不如(DJ版)》@汽水音乐 大佬们,有什么好建议吗? 迅工电气仿真v3.2.0 电工接线模拟学习 电路仿真训练工具 像塑v17.0.0 抖音特效制作 自媒体副业赚钱必备 阶跃AI v6.0.1 无限制Ai写小说 Ai生图等功能 三维山水全景地图1.5.7 高清卫星3D地形探索 美谷食谱v5.3.1 海量菜谱 教做菜 已去~广告 移除它Removelt 1.6.6 AI一键消除杂物 水印文字去除 戏曲大观园1.9.07 免费听戏曲 海量小品 纯净无广 Simple live 1.12.7 B站、抖音、快手、虎牙、斗鱼 五合一软件 阿福管家2026.12.2高级版 旧手机变监控摄像头 动态侦测+双向通话 多邻国6.88.0国际版 解锁无限红心 免费学习多国语言 Hypic 醒图国际版 AI全能修图 抖音手表提取版v16.2.0 手机可用 16M大小 内存占用极低 IPTV Pro v9.1.22 观看全球网络直播 电视 几万部电影 车来了v7.4.6绿化版 实时公交车查询 发车预测+下车提醒+地铁 加班记工时v1.0.4 工时打卡自动算薪 免注册 免费 无广告 BT v0.9.30 第三方哔哩哔哩TV版大屏看片 追剧爽歪歪 新华字典v20.12.26 电子版的新华字典 随时随地查字 静读天下Moon+ Reader Pro v10.7 支持40+电子书格式 朗读+PDF批注 重磅福利!500MB动态住宅/3条短效住宅免费 CDK 疯狂派送送送送! 反间谍防护Anti Spy v6.8高级版 防偷~拍/防定位/防截屏 风鸟v4.7.6 企业查 查老板找客户 注册即送5年SVIP会员 Anatomy Learning3.1.494解锁高级版 3D人体解剖图
Rhex如何手动下载Github仓库更新
书白 · 2026-05-02 · via 侠客岛

侠客岛论坛 Rhex 安全更新教程
适用场景:手动下载 GitHub 仓库 ZIP 包,通过宝塔/服务器手动更新
最后更新:2026-05-01

一、更新前准备(必须执行)

  1. 备份整个项目目录
    cp -r /www/wwwroot/rhex /www/wwwroot/rhex_backup_$(date +%Y%m%d_%H%M%S)

  2. 备份数据库
    pg_dump -U postgres rhex > /root/rhex_db_$(date +%Y%m%d_%H%M%S).sql

  3. 单独备份配置文件
    cp /www/wwwroot/rhex/.env /root/rhex_env_backup.txt

  4. 记下备份目录的名称
    ls -la /www/wwwroot/ | grep rhex_backup

二、停止服务

pm2 stop rhex-web rhex-worker

三、删除旧代码(保留 .env、addons、uploads)

cd /www/wwwroot/rhex

删除以下代码目录(这些会被新版本覆盖)

rm -rf src
rm -rf prisma
rm -rf public
rm -rf scripts
rm -rf docs
rm -rf .next

删除根目录的配置文件(保留 .env)

rm -f package.json
rm -f pnpm-lock.yaml
rm -f next.config.mjs
rm -f tsconfig.json

注意:addons、uploads、.env 这三个绝对不能删除!

四、解压并部署新版本

  1. 进入项目目录
    cd /www/wwwroot/rhex

  2. 解压已上传的压缩包(示例:Rhex-main.zip)
    unzip Rhex-main.zip

  3. 将解压出的文件夹内容移动到根目录
    mv Rhex-main/* ./
    mv Rhex-main/.* ./ 2>/dev/null

  4. 删除空文件夹和压缩包
    rm -rf Rhex-main
    rm -f Rhex-main.zip

五、恢复配置

  1. 恢复 .env 文件
    cp /root/rhex_env_backup.txt .env

  2. 确保目录存在
    mkdir -p uploads addons

  3. 设置权限
    chown -R www:www .env uploads addons 2>/dev/null
    chmod 755 uploads addons

六、修改端口配置(重要)

sed -i ‘s/“start”: “next start”/“start”: “next start -p 10240”/’ package.json

七、安装依赖并更新数据库

  1. 安装依赖
    pnpm install

  2. 生成 Prisma 客户端
    npx prisma generate

  3. 同步数据库结构(重要!新版经常需要新增表)
    npx prisma db push

  4. 重新构建
    pnpm run build

八、重启服务并验证

  1. 启动服务
    pm2 start rhex-web rhex-worker

  2. 保存 PM2 配置
    pm2 save

  3. 查看日志确认正常
    pm2 logs rhex-web --lines 30

  4. 检查端口监听
    netstat -tlnp | grep 10240

  5. 测试本地访问
    curl http://127.0.0.1:10240

九、浏览器测试

访问 https://xiakedao.hk0.cc 检查以下内容:

  • 首页能正常打开
  • 能正常登录
  • 帖子能正常显示
  • 插件功能正常
  • 上传的附件/图片能正常显示

十、常见错误及解决方案

错误1:The table public.CustomPage does not exist
原因:新版数据库缺少表
解决:执行 npx prisma db push

错误2:DYNAMIC_SERVER_USAGE
原因:Next.js 构建问题
解决:rm -rf .next && pnpm run build

错误3:端口被占用(EADDRINUSE)
原因:10240 端口被占用
解决:netstat -tlnp | grep 10240 找到进程并 kill

错误4:pnpm install 很慢
解决:使用淘宝镜像
pnpm install --registry=https://registry.npmmirror.com

十一、如果更新失败,回滚操作

  1. 停止服务
    pm2 stop rhex-web rhex-worker

  2. 删除新版本
    rm -rf /www/wwwroot/rhex

  3. 恢复备份
    cp -r /www/wwwroot/rhex_backup_* /www/wwwroot/rhex

  4. 重启服务
    pm2 restart rhex-web rhex-worker

  5. 恢复数据库(如需)
    psql -U postgres -d rhex < /root/rhex_db_备份文件名.sql

十二、关键注意事项

【必须保留的目录和文件】
├── .env # 配置文件
├── addons/ # 插件目录(绝对不能删)
└── uploads/ # 上传文件目录

【每次更新必须做的】

  1. 备份项目和数据库
  2. 只删除代码目录(src、prisma、public、scripts 等)
  3. 保留 addons、uploads、.env
  4. 修改 package.json 中的端口为 10240
  5. 执行 prisma db push 更新数据库结构(新版必做)
  6. 执行 pnpm run build 重新构建

========================================
保存本文件为:更新说明.txt
下次更新时按顺序执行即可