如何部署Rhex輕量論壇系統?

Thread Source: Rhex完美轻量论坛系统

说实话,看到Rhex这个基於Next.js 16、Prisma和PostgreSQL的輕量論壇系統時,我第一反應是——這年頭論壇專案還能保持這麼清爽的架構,確實少見。原作者提到過去被dz、phpwind的臃腫折磨過,我深有同感,那些老系統功能是夠多,但部署一次就能讓人放棄。所以當我想自己試試部署Rhex時,心裡還是有點期待的,畢竟「AI友好、80% AI開發」這個標籤聽起來就很對當代開發者的胃口。

部署前的準備:環境與依賴

要成功部署Rhex,首先得搞定Node.js環境——官方文檔說需要Node.js 18以上,但我建議直接上20 LTS,畢竟Next.js 16對新版Node支援更好,而且長期維護也省心。Prisma和PostgreSQL是核心資料庫組合,如果你習慣用MySQL或SQLite,抱歉,Rhex目前只愛PostgreSQL。我本來想偷懶用Docker跑PostgreSQL,但後來發現本地安裝其實更快,特別是Linux環境下apt install postgresql就能搞定,Windows用戶則建議用WSL2或直接裝官方的Windows版PostgreSQL,記住創建一個專用資料庫和用戶,權限給足。

正式部署的具體步驟

拿到Rhex的原始碼後,第一件事是clone到本地,然後執行npm install。這裡有個小插曲——我最初沒注意Prisma依賴的PostgreSQL client版本,結果安裝報了錯,後來才發現需要手動安裝prisma和@prisma/client。接著複製.env.example為.env,填寫DATABASE_URL,格式大概是postgresql://使用者:密碼@localhost:5432/rhex。跑npx prisma migrate dev建立資料表結構,這一步如果遇到權限問題,檢查一下PostgreSQL的角色設定。最後npm run dev就能在開發模式看到論壇首頁,但正式部署建議用npm run build然後配合PM2或Docker運行。PM2的話,pm2 start npm --name "rhex" -- start就能後台啟動,記得設定開機自啟。

部署中可能遇到的坑

說實話,部署過程中最讓我頭痛的是Prisma migrate報「找不到schema.prisma檔案」的錯誤——原來是我在子目錄下執行命令,而schema檔案在根目錄。另外,如果你用反向代理(比如Nginx),記得設定WebSocket支援,因為Next.js的API路由有時候需要長連線。還有個細節,Rhex內建了後台管理面板,但管理員帳號需要手動在資料庫中設定角色,登錄後才能看到管理選單,這點官方文檔沒特別標註,我摸索了十幾分鐘才找到對應的user table。整體來說,Rhex的部署門檻比Discourse低很多——後者要求Ruby和Redis,光安裝就讓人想放棄;Rhex只要Node.js和PostgreSQL,對團隊內部討論站或小眾興趣社群來說,已經算非常友好了。

小結與個人建議

如果你只是想要一個快速上線、又不需要折騰各種外掛的論壇,Rhex是個不錯的選擇。但我還是忍不住想問:它的插件生態和主題系統在哪裡?目前看起來只有內建功能,對於想要高度客製化的用戶可能還不夠。不過考慮到它原本定位就是「二次開發底座」,懂前後端的人自己加功能反而更靈活。部署完成後,記得把PostgreSQL的連線設定成SSL模式,或是用防火牆限制端口,畢竟安全性還是要自己把握。最後說一句,Rhex的程式碼品質確實不錯,AI生成的痕跡很少,維護起來應該很舒服。

評論(15)

提示:請文明發言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

  • 袋鼠仔

    這架構看著就舒服,Node+PostgreSQL我熟

    4 個月前 Reply
  • 終端代碼 普通用户

    部署還真踩到Prisma那個坑了,血淚經驗😭

    4 個月前 Reply
  • SolsticeWanderer 普通用户

    反向代理要開WebSocket?感謝提醒,剛卡在這

    4 個月前 Reply
  • WraithRiddle

    管理員權限要手動改資料庫?文檔太隱晦了吧

    4 個月前 Reply
  • 圍巾 普通用户

    想問一下WSL2跑會不會有性能問題?

    4 個月前 Reply
  • 烏龍茶 普通用户

    build完用PM2跑很穩,比想像中順

    4 個月前 Reply
  • 冷血毒蛇 普通用户

    AI開發八成是誇張了吧,代碼乾淨才是關鍵

    4 個月前 Reply
  • 爆米花 普通用户

    之前搞Discourse被Ruby搞崩,果然還是輕量好

    4 個月前 Reply
  • EclipseWayfarer 普通用户

    感覺還行,至少不用再碰PHP的歷史遺產

    4 個月前 Reply
  • 鸚鵡君 普通用户

    這個schema路徑錯誤也太陰險,誰知道要在根目錄執行

    4 個月前 Reply
  • 平靜的湖水 普通用户

    rundev能起來但build失敗是啥情況?有人遇過嗎

    4 個月前 Reply
  • 海豚浪浪 普通用户

    要是後續有主題系統就更香了,現在太素

    4 個月前 Reply
  • 袋鼠蹦蹦 普通用户

    我看不懂Prisma migration那塊到底在幹嘛

    4 個月前 Reply
  • 企鵝可可 普通用户

    npm install直接報錯,是不是得先裝prisma CLI?

    4 個月前 Reply
  • 甜蜜的負擔 普通用户

    管理面板藏這麼深,新手怕是一頭霧水666

    4 個月前 Reply