如何在阿里云linux主机上部署Node.Js

在阿里云的Linux服务器上搭建Node.js编程环境可以通过以下步骤完成。这里以常见的 Ubuntu/CentOS 系统为例,提供两种安装方式(包管理器、NVM多版本管理):


一、通过包管理器安装(适合快速安装指定版本)

1. Ubuntu/Debian 系统
bash 复制代码
# 更新系统包列表
sudo apt update

# 安装Node.js(默认版本可能较旧,推荐使用NodeSource仓库)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -  # LTS版本
# 或指定版本(如18.x)
# curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

sudo apt install -y nodejs

# 验证安装
node -v  # 输出示例:v18.16.1
npm -v   # 输出示例:9.5.1
2. CentOS/RHEL 系统
bash 复制代码
# 更新系统
sudo yum update -y

# 启用NodeSource仓库(以Node.js 18为例)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -

# 安装Node.js
sudo yum install -y nodejs

# 验证
node -v
npm -v

二、通过NVM安装(推荐,支持多版本切换)

1. 安装NVM(Node Version Manager)
bash 复制代码
# 下载并安装NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 重新加载环境变量(或重新登录)
source ~/.bashrc  # 若使用zsh则改为 ~/.zshrc

# 验证NVM
nvm --version  # 输出示例:0.39.7
2. 使用NVM安装Node.js
bash 复制代码
# 查看可用版本
nvm ls-remote

# 安装指定版本(如18.16.1)
nvm install 18.16.1

# 设置默认版本
nvm alias default 18.16.1

# 验证
node -v
npm -v

三、配置全局npm包和项目环境

1. 安装常用全局工具
bash 复制代码
# 安装yarn、pm2、nodemon等
npm install -g yarn pm2 nodemon typescript

# 验证
yarn --version
pm2 --version
2. 配置npm镜像加速(可选)
bash 复制代码
# 设置淘宝镜像
npm config set registry https://registry.npmmirror.com

# 验证配置
npm config get registry

四、部署Node.js应用示例

1. 创建简单HTTP服务
bash 复制代码
# 创建项目目录
mkdir myapp && cd myapp

# 初始化npm项目
npm init -y

# 安装Express(示例)
npm install express

# 创建app.js文件
echo "const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('Hello from Alibaba Cloud!'));
app.listen(3000, () => console.log('Server running on port 3000'));" > app.js

# 启动服务
node app.js
2. 通过PM2持久化运行
bash 复制代码
# 使用PM2启动应用(后台运行、自动重启)
pm2 start app.js --name "myapp"

# 查看进程列表
pm2 list

# 设置开机自启
pm2 startup
pm2 save

五、配置阿里云安全组

  1. 登录阿里云控制台,进入ECS实例的安全组配置。
  2. 添加入方向规则,开放Node.js服务端口(如3000):
    • 协议类型:自定义TCP
    • 端口范围:3000/3000
    • 授权对象:0.0.0.0/0(或按需限制IP)

六、验证外部访问

在浏览器或通过curl访问:

bash 复制代码
curl http://<阿里云公网IP>:3000
# 应返回:Hello from Alibaba Cloud!

七、注意事项

  1. 版本选择:生产环境建议使用LTS版本(如18.x、20.x)。
  2. 权限问题 :避免使用root运行Node.js服务,可通过pm2或systemd管理。
  3. 防火墙 :确保阿里云安全组和服务器防火墙(如ufw/firewalld)均放行端口。
  4. 资源监控 :使用htop、pm2 monit或阿里云监控查看资源使用情况。

按照以上步骤操作后,你的阿里云Linux服务器即可支持Node.js开发与部署。

附件:流程图

相关推荐
沉默小管18 小时前
我用 NestJS + Nuxt 3 做了个导航站,聊几个踩过的坑
node.js·seo
非优秀程序员2 天前
第02章 杭电的英语老师与一台服务器|《互联网产品恩仇录》
数据库·node.js·代码规范
Hone2 天前
juejin-skills 系列 ②:我把「看掘金热榜」也做成了 Agent 技能
开源·node.js·ai编程
w16632 天前
零 Root 无 PC:我让 AI 在手机上把鸿蒙 HDC 协议的底裤扒了下来
node.js
严肃小白兔3 天前
TanStack Router 更新构建工具链:Node.js 兼容性、路由分割与前端工程实践
前端·node.js·状态模式
一缕82年的清风4 天前
用了 3 年 Notion 和 Obsidian 后,为什么我最终把所有身家搬到了思源笔记?
node.js
Dumbness4 天前
一份 JSON 生成增删改查接口,入参清洗漏了什么:Number(" ") 是 0,搜 100% 把 1000 元券也搜出来
node.js·express
FungLeo5 天前
成为全栈·基础补充·Node.js 运行时:事件循环与异步
javascript·node.js·事件循环·后端开发·异步编程·成为全栈
用户087308654876 天前
用 GUI 自动化写了一个群聊 AI:5 个真实事故,和 7 条让 AI 不像机器人的设计
node.js
Dumbness7 天前
毕设后台导出 CSV 的 4 个坑:date 字段漏了公式防护,搜索框输入 % 能扫全表
node.js·express