Node.js 应用建站选型与准备

更新于 2026年8月21日

适用人群:用 Next.js、Nuxt 或 Express 等做 SSR/全栈应用,并计划部署到国内服务器合规上线的开发者。

核心概念

Node 应用和静态站/PHP 的区别

Next/Nuxt 的 SSR/全栈模式运行时需要一个常驻的 Node 进程监听端口(如 3000),由它动态渲染页面、处理接口。这和「直接返回 HTML 文件」的静态站、「按请求执行脚本」的 PHP 都不同——所以要用进程守护(PM2/systemd)保持 Node 一直运行。

部署架构

典型架构:Nginx(80/443,对外、管 HTTPS)→ 反向代理 → Node 进程(本机 3000)。Nginx 负责 TLS 和静态资源,Node 负责应用逻辑。

纯静态导出是另一回事

Next/Nuxt 也支持导出为纯静态站(SSG),那种情况按静态站部署即可,见 静态网站建站上线教程。本系列讲的是需要 Node 常驻进程的 SSR/全栈部署。

备案前提

境内服务器上线,域名必须先完成 ICP 备案

操作步骤

  1. 步骤 1确认渲染模式

    先分清应用是 SSR/全栈(需 Node 常驻)还是可静态导出(SSG,走静态站流程)。

  2. 步骤 2准备域名并实名

    注册域名、完成实名,主体与备案主体一致。

  3. 步骤 3选购服务器

    境内上线选大陆节点云服务器(需备案);对内存有要求,Node 应用建议 2G 起。

  4. 步骤 4规划进程守护

    决定用 PM2 还是 systemd 守护 Node 进程,保证崩溃自动重启、开机自启。

实际示例

Node 应用上线架构:
用户 → Nginx(443, HTTPS) → 反向代理 → Node 进程(127.0.0.1:3000)
路径:构建 → PM2/systemd 守护进程 → Nginx 反代 → 域名+HTTPS → 备案后上线

常见错误

  • ⚠️直接 node 启动应用、SSH 一断进程就停,没用 PM2/systemd 守护
  • ⚠️把 Node 进程直接暴露在公网端口,未经 Nginx 反代,缺少 TLS 与防护
  • ⚠️能静态导出的站点也上了完整 SSR 部署,徒增运维复杂度
  • ⚠️境内服务器未备案直接解析上线

对应工具

常见问题

Next/Nuxt 一定要 Node 服务器吗?
看渲染模式。SSR/全栈需要常驻 Node 进程;若用静态导出(SSG)则产物是纯静态文件,按静态站部署即可,无需常驻 Node。
为什么要 Nginx 反向代理?
Nginx 负责 HTTPS、静态资源、限流与防护,把请求转发给本机的 Node 进程,比让 Node 直接对外更安全也更好维护。

相关教程

相关文章

官方资料来源