领优惠
首页 / 场景与建站 / 正文

阿里云部署Node.js项目完整教程(含PM2与域名配置)

分类:场景与建站 · 关键词:阿里云部署Node项目 · 更新:2026-11-05
阿里云新用户专享优惠
爆款云服务器 99元/年起 · 代金券免费领 · 个人建站/学习/企业上云均适用
查看实时活动价格
活动价格以阿里云官网实时页面为准,通过本站链接注册购买可享新用户优惠

用Node.js写的接口服务、网站或全栈应用,怎么部署到云服务器上长期稳定运行?核心就三件事:装对Node版本、用PM2守护进程、用Nginx收口对外。本文以阿里云ECS为例,给出一条完整的Node项目部署路径。

一、需求分析:Node项目对服务器的要求

Node是单线程事件驱动模型,内存占用比Java低,但对并发连接和磁盘IO更敏感:

二、服务器配置推荐

方案 配置 参考价(以官网活动页为准) 适合场景
ECS e实例 2核2G 3M带宽 约99元/年 练手项目、轻量API
ECS 进阶款 2核4G 约199元/年 正式项目、前后端同机
更高配置 4核8G起 以官网实时信息为准 高并发、长连接密集型

大陆地域对外提供服务需完成ICP备案,约1到3周;开发联调阶段可先用IP访问。价格以阿里云官网实时信息为准。

三、环境准备:nvm安装与管理Node版本

  1. SSH登录服务器,安装nvm(Node版本管理工具),之后可随时切换版本;
  2. 用nvm安装LTS版本Node,例如nvm install 20,并设置默认版本;
  3. 配置npm镜像加速依赖安装,国内服务器下载速度提升明显;
  4. 项目上传:代码推到Git仓库后在服务器clone,或本地打包用scp上传,避开node_modules,在服务器重新npm install。

四、用PM2守护进程(关键一步)

直接node app.js启动,SSH一断进程就没了,PM2解决这个问题:

  1. 全局安装PM2:npm install -g pm2;
  2. 启动应用:pm2 start app.js --name myapp,或用配置文件管理启动参数与环境变量;
  3. 常用命令:pm2 list查看状态、pm2 logs myapp看日志、pm2 restart myapp重启;
  4. 开机自启:执行pm2 startup并pm2 save,服务器重启后应用自动拉起,这是生产环境的标配;
  5. 集群模式:pm2 start -i max可按CPU核数开多进程,2核机器就能吃到多核红利。

五、Nginx反向代理与域名配置

  1. 安装Nginx,配置server块,把80、443的请求proxy_pass转发到Node监听的本机端口(如3000);
  2. WebSocket项目记得加上升级头的代理配置,否则长连接握手会失败;
  3. 在阿里云域名控制台添加A记录指向服务器公网IP;
  4. 申请免费SSL证书部署到Nginx,开启HTTPS并强制跳转;
  5. 安全组只放行80、443、22端口,Node端口不直接暴露公网,安全性和体验都更好。

前后端同机部署的常见组合

不少用户会在一台服务器上同时跑前端页面和Node接口,标准做法是:前端构建产物交给Nginx直接托管,接口路径由Nginx反向代理转发到Node进程。动静分离之后,静态资源不再占用Node的处理能力,整体吞吐明显更好;配合gzip压缩与静态资源缓存头,页面加载速度还能再提一档,一台2核4G服务器就能同时胜任前后端。

六、费用估算

项目 参考费用 说明
云服务器 约99元到199元/年 2核2G到2核4G,以官网实时信息为准
Node与PM2 0元 开源软件
SSL证书 0元 免费证书即可
ICP备案 0元 大陆地域必须,约1到3周

常见问题

问:PM2是什么,为什么必须用? 答:PM2是Node进程管理器,负责守护进程、崩溃重启、开机自启和日志管理,生产环境部署Node的标配工具。

问:Node项目要用多大内存? 答:小型服务2核2G够用;正式项目或前后端、数据库同机部署建议2核4G起步,余量更稳。

问:端口只开了3000,外面访问不了? 答:两处都要查:阿里云安全组是否放行该端口;推荐做法其实是只放行80和443,由Nginx反代Node端口。

问:前端和后端能部署在同一台服务器吗? 答:可以。前端静态文件交给Nginx托管,接口走反向代理到Node,一台2核4G即可同时胜任。

问:代码更新后怎么发布? 答:git pull拉取最新代码,npm install后执行pm2 restart myapp即可,全程几秒完成,不影响配置文件。

问:npm install很慢或报错怎么办? 答:先切换npm镜像源,国内服务器访问官方源速度不理想;依赖报错优先确认Node版本与项目要求一致,用nvm切换到对应版本再安装。

问:Node进程内存不足被杀怎么办? 答:可在PM2配置中调大内存重启阈值,同时排查是否存在内存泄漏;长期高内存占用说明该升级配置或拆分服务了。

问:如何查看项目实时日志? 答:pm2 logs命令可实时滚动查看应用输出,配合pm2 monit能看到每个进程的资源占用,排查问题基本靠这两条命令。

问:可以用Docker部署Node项目吗? 答:完全可以,写好Dockerfile后环境一致性更好;但新手建议先用PM2跑通全流程,熟悉部署链路后再切换容器方案。

问:服务器到期迁移麻烦吗? 答:不麻烦。代码在Git仓库、环境用nvm和PM2重装、数据库导出导入,半小时内可完成迁移;平时把配置文件也纳入版本管理会更省心。

行动建议

Node项目部署路径已经很成熟:nvm管版本、PM2管进程、Nginx管入口。建议先去阿里云官网活动页查看ECS实时价格,先领券再下单,2核4G活动价通常在百元级;备案在开发期同步启动,上线不被卡。价格以阿里云官网实时信息为准,新用户资格通常限首购,想好配置再出手。

阿里云新用户专享优惠
爆款云服务器 99元/年起 · 代金券免费领 · 个人建站/学习/企业上云均适用
查看实时活动价格
活动价格以阿里云官网实时页面为准,通过本站链接注册购买可享新用户优惠

继续阅读