新闻中心

Linux 上部署 Node.js 项目最简流程

2025-12-05
浏览次数:
返回列表
5分钟可完成Node.js应用上线部署。通过pm2启动服务并设置开机自启,Nginx反向代理转发请求,注意监听地址设为0.0.0.0、端口统一、防火墙仅开放80/443,日志用pm2 logs查看。

linux 上部署 node.js 项目最简流程

直接用 pm2 启动,配合 Nginx 反向代理,不用 systemd、不用 Docker,5 分钟搞定上线。

1. 上传代码并安装依赖

把项目文件传到服务器(比如用 scp 或 git clone),进入项目目录后执行:

  • npm install --production(只装生产依赖,省空间)
  • 确认 package.json 里有正确的 start 脚本,比如 "start": "node server.js"

2. 用 pm2 启动服务

全局安装 pm2(如果还没装):

迷你天猫商城 迷你天猫商城

迷你天猫商城是一个基于Spring Boot的综合性B2C电商平台,需求设计主要参考天猫商城的购物流程:用户从注册开始,到完成登录,浏览商品,加入购物车,进行下单,确认收货,评价等一系列操作。 作为迷你天猫商城的核心组成部分之一,天猫数据管理后台包含商品管理,订单管理,类别管理,用户管理和交易额统计等模块,实现了对整个商城的一站式管理和维护。所有页面均兼容IE10及以上现代浏览器。部署方式1、项目

迷你天猫商城 0 查看详情 迷你天猫商城
  • npm install -g pm2
  • 启动项目:pm2 start npm --name "myapp" -- start
  • 开机自启:pm2 startup,再运行它输出的那条命令(如 sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u youruser --hp /home/youruser
  • 保存当前进程列表:pm2 s*e

3. 配置 Nginx 反向代理

编辑 Nginx 站点配置(如 /etc/nginx/sites-*ailable/myapp):

  • 指向你的域名或 IP,proxy_pass http://127.0.0.1:3000(假设 Node 监听 3000)
  • 加上 proxy_http_version 1.1proxy_set_header Upgrade $http_upgrade(支持 WebSocket)
  • 启用配置:ln -sf /etc/nginx/sites-*ailable/myapp /etc/nginx/sites-enabled/,再 nginx -t && systemctl reload nginx

4. 小心几个关键点

  • Node 进程默认监听 localhost,要改成 0.0.0.0 才能被 Nginx 转发
  • 确保 PORT 环境变量或代码里端口统一(推荐用 process.env.PORT || 3000
  • 防火墙放行 80/443(Nginx),不用开 Node 的端口(如 3000)对外
  • 日志看这里:pm2 logs myapp,出问题第一时间查

基本上就这些。不复杂但容易忽略端口和监听地址,配完跑通一次,后续部署就只是改代码 + pm2 reload。

以上就是Linux 上部署 Node.js 项目最简流程的详细内容,更多请关注其它相关文章!


# 泗阳网站建设公司  # 是一个  # 压缩解压  # 几个  # 还没  # 设为  # 相关文章  # 太原推广营销公司排名榜  # 深圳独立网站推广平台  # 操作步骤  # 企业手机网站建设的建议  # 徐州哪里网站建设收费  # 网站优化英语作文  # 观澜网站关键词优化价格  # 青岛关键词排名优z  # 快速入门seo推广公司  # 网站推广别错过易速达  # linux  # 编辑器  # 服务管理  # 运行环境  # w  # 端口  # app  # 防火墙  # npm  # nginx  # docker  # node  # json  # git  # node.js  # js 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: Win10双系统截图高效法 截屏快捷键速记【技巧】  2026春节假期时间安排 2026春节假日查询  QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问  vivo浏览器自带的下载器速度慢怎么办 vivo浏览器提升文件下载速度的技巧  J*a里如何使用forEach遍历Map_Map遍历方法说明  蛙漫漫画免费阅读入口_蛙漫官方正版无广告纯净版  PHP中获取MongoDB服务器运行时间(Uptime)的专业指南  Golang如何测试channel通信行为_Golang channel通信测试与分析方法  抓大鹅解压小游戏 抓大鹅摸鱼解压入口  css链接悬停下划线样式如何自定义_使用::after结合content和transition  必由学网页版入口 必由学官方平台直接访问  Excel文件在线转换快速入口 Excel在线格式转换网站  Win11 USB传输速度慢怎么解决 Win11 USB驱动更新与设置  如何在更新Composer依赖后自动运行测试_使用post-update-cmd钩子触发PHPUnit  深入理解rpy2中的类型转换:优化Python对象到R矩阵的映射  DLsite中文平台入口 DLsite官网内容在线查看  抖音网页版平台入口 抖音网页版官网在线访问教程  J*aScript DOM操作:高效清空列表元素的策略与实践  虫虫漫画精品漫画官网_虫虫漫画精品漫画官网进入精品漫画  微博网页版官方账号登录 微博网页版内容浏览使用指南  如何在Python中使用Optional类型处理可变对象并避免Pylint警告  Excel组合图表怎么做 Excel创建柱状图与折线组合图教程【图表】  MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏  Win11怎么修改默认浏览器_Windows 11设置Chrome为默认  J*a递归快速排序中静态变量导致数据累积问题的解决方案  Go调试环境为何无法启动_Go调试器启动失败原因与解决策略  我的世界官方游戏入口 我的世界官网平台直达链接  理解J*aScript Promise的微任务队列与执行顺序  Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】  动漫花园资源网使用步骤_动漫花园资源网下载流程  构建轻量级网站内部消息系统:Formspree 集成指南  Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法  不同用户不同价格! 索尼开启账户个性化定价测试  Win10如何清理注册表垃圾 Win10注册表维护与优化指南【慎用】  如何为你的Composer包编写自动化测试_集成PHPUnit到Composer的scripts工作流  钉钉视频会议画面卡顿如何解决 钉钉会议画面优化方法  漫蛙漫画网页端入口 漫蛙2官方正版漫画站点  京东京造J1和网易云音乐氧气真无线有什么不同_国产电商蓝牙耳机音质对比  qq游戏跨平台入口_qq游戏多设备同步登录  荣耀Play7T运行卡顿解决_荣耀Play7T性能优化  照顾宝贝2小游戏免费秒玩入口  HTML空白字符处理机制:渲染、DOM与编码实践  俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达  Excel Power Pivot如何处理XML数据源 构建高级数据模型  一加 Nord 5 隐私权限异常_一加 Nord 5 系统安全优化  J*aScript中赋值与自增运算符的复杂交互与执行机制  曝R星经典之作开发图 设计简陋但信息密集!  高德地图沿途添加点失败如何解决 高德多点规划方法  J*a实现学校排课程序_面向对象结构化项目示例  j*a toString()的覆盖 

搜索