如何在阿里云的linux上搭建Node.js编程环境?

简介: 本指南介绍如何在阿里云Linux服务器(Ubuntu/CentOS)上搭建Node.js环境,包含两种安装方式:包管理器快速安装和NVM多版本管理。同时覆盖全局npm工具配置、应用部署示例(如Express服务)、PM2持久化运行、阿里云安全组设置及外部访问验证等步骤,助你完成开发与生产环境的搭建。

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


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

1. Ubuntu/Debian 系统

# 更新系统包列表
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 系统

# 更新系统
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)

# 下载并安装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

# 查看可用版本
nvm ls-remote

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

# 设置默认版本
nvm alias default 18.16.1

# 验证
node -v
npm -v

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

1. 安装常用全局工具

# 安装yarn、pm2、nodemon等
npm install -g yarn pm2 nodemon typescript

# 验证
yarn --version
pm2 --version

2. 配置npm镜像加速(可选)

# 设置淘宝镜像
npm config set registry https://registry.npmmirror.com

# 验证配置
npm config get registry

四、部署Node.js应用示例

1. 创建简单HTTP服务

# 创建项目目录
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持久化运行

# 使用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访问:

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

七、注意事项

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

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

附件:流程图

image.png

相关文章
|
JavaScript 前端开发 Java
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
450 24
JavaScript:编程宇宙的多面闪耀之星-揭秘 JavaScript,编程界的全能霸主如何炼成?-优雅草卓伊凡
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
JavaScript 前端开发 数据可视化
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
1019 2
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
|
人工智能 监控 JavaScript
HarmonyOS5云服务技术分享--ArkTS开发Node环境
本文详细讲解了在HarmonyOS(ArkTS API 9及以上)中使用云函数的开发技巧,结合Node.js和HTTP触发器,从零开始手把手教学。内容涵盖核心能力、开发流程(配置到部署)、高阶优化及常见问题解决,并提供实际应用场景示例。助你快速掌握Serverless开发,提升效率,探索跨端协作与AI集成等未来方向。
|
JavaScript 前端开发 IDE
【编程向导】Js与Ts差异详解:选择与权衡
JavaScript 一直是 Web 开发的基石,以其灵活性和动态性著称,但其松散类型可能导致大型项目中出现难以调试的错误。TypeScript 作为 JavaScript 的超集,通过引入静态类型系统,提供了更高的类型安全性和更好的工具支持,尤其适合大型团队和复杂项目。本文详细对比了 JavaScript 和 TypeScript 的优缺点,并提供了实际代码示例,帮助开发者根据项目需求选择合适的工具。
2026 2
|
消息中间件 存储 缓存
【嵌入式软件工程师面经】Linux系统编程(线程进程)
【嵌入式软件工程师面经】Linux系统编程(线程进程)
534 1
|
Linux 调度 数据库
Linux下的系统编程——线程同步(十三)
Linux下的系统编程——线程同步(十三)
354 0
Linux下的系统编程——线程同步(十三)
|
存储 Linux 调度
Linux系统编程 多线程基础
Linux系统编程 多线程基础
212 1
|
存储 安全 数据管理
Linux系统编程教程之Linux线程函数的使用:讲解Linux线程函数
Linux系统编程教程之Linux线程函数的使用:讲解Linux线程函数
259 1
|
Linux
Linux编程: 在业务线程中注册和处理Linux信号
通过本文,您可以了解如何在业务线程中注册和处理Linux信号。正确处理信号可以提高程序的健壮性和稳定性。希望这些内容能帮助您更好地理解和应用Linux信号处理机制。
301 26