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

在阿里云的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/75990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫:开启数据抓取的奇幻之旅(一)

目录 一、爬虫初印象&#xff1a;揭开神秘面纱​ 二、工欲善其事&#xff1a;前期准备​ &#xff08;一&#xff09;Python 环境搭建​ 1.下载 Python 安装包&#xff1a;​ 2.运行安装程序&#xff1a;​ 3.配置环境变量&#xff08;若自动添加失败&#xff09;&#x…

机器学习——集成学习框架(GBDT、XGBoost、LightGBM、CatBoost)、调参方法

一、集成学习框架 对训练样本较少的结构化数据领域&#xff0c;Boosting算法仍然是常用项 XGBoost、CatBoost和LightGBM都是以决策树为基础的集成学习框架 三个学习框架的发展是&#xff1a;XGBoost是在GBDT的基础上优化而来&#xff0c;CatBoost和LightGBM是在XGBoost的基础上…

第十五章:Python的Pandas库详解及常见用法

在数据分析领域&#xff0c;Python的Pandas库是一个不可或缺的工具。它提供了高效的数据结构和数据分析工具&#xff0c;使得数据处理变得简单而直观。本文将详细介绍Pandas库的基本功能、常见用法&#xff0c;并通过示例代码演示如何使用Pandas进行数据处理。最后&#xff0c;…

【Python桌面应用】PySide6 界面开发完全指南

文章目录 1. 引言2. PySide6 简介与安装2.1 什么是PySide62.2 PySide6 vs. PyQt62.3 安装PySide62.4 开发环境配置建议 3. Qt 设计原理3.1 Qt对象模型3.2 信号与槽机制3.3 Qt坐标系统3.4 Qt样式表(QSS) 4. 创建第一个应用4.1 基本应用结构4.2 主窗口与应用生命周期4.3 使用面向…

用 pytorch 从零开始创建大语言模型(三):编码注意力机制

从零开始创建大语言模型&#xff08;Python/pytorch &#xff09;&#xff08;三&#xff09;&#xff1a;编码注意力机制 3 编码注意力机制3.1 建模长序列的问题3.2 使用注意力机制捕捉数据依赖关系3.3 通过自注意力关注输入的不同部分3.3.1 一个没有可训练权重的简化自注意力…

Spring中的IOC及AOP概述

前言 Spring 框架的两大核心设计思想是 IOC&#xff08;控制反转&#xff09; 和 AOP&#xff08;面向切面编程&#xff09;。它们共同解决了代码耦合度高、重复逻辑冗余等问题。 IOC&#xff08;控制反转&#xff09; 1.核心概念 控制反转&#xff08;Inversion of Control…

STM32_HAL开发环境搭建【Keil(MDK-ARM)、STM32F1xx_DFP、 ST-Link、STM32CubeMX】

安装Keil(MDK-ARM)【集成开发环境IDE】 我们会在Keil(MDK-ARM)上去编写代码、编译代码、烧写代码、调试代码。 Keil(MDK-ARM)的安装方法&#xff1a; 教学视频的第02分03秒开始看。 安装过程中请修改一下下面两个路径&#xff0c;避免占用C盘空间。 Core就是Keil(MDK-ARM)的…

python 第三方库 - dotenv读取配置文件

.env 文件是一种用于存储环境变量的配置文件&#xff0c;常用于项目的运行环境设置。环境变量是操作系统层面的一些变量&#xff0c;它们可以被应用程序访问和使用&#xff0c;通常包含敏感信息或特定于环境的配置&#xff0c;如数据库连接信息、API 密钥、调试模式等。 安装p…

用python压缩图片大小

下载库 cmd开命令或者PyCharm执行都行 pip install pillow2. 然后就是代码 from PIL import Imagedef compress_image(input_path, output_path, quality85, max_sizeNone):"""压缩图片大小。参数:- input_path: 输入图片路径- output_path: 输出图片路径- qu…

【自用记录】本地关联GitHub以及遇到的问题

最近终于又想起GitHub&#xff0c;想上传代码和项目到仓库里。 由于很早之前有在本地连接过GitHub&#xff08;但没怎么用&#xff09;&#xff0c;现在需要重新搞起&#xff08;操作忘得差不多&#xff09;。 在看教程实操的过程中遇到了一些小问题&#xff0c;遂记录一下。 前…

在一个scss文件中定义变量,在另一个scss文件中使用

_variables.scss文件 : $line-gradient-init-color: linear-gradient(90deg, #8057ff 0%, #936bff 50%, #b892ff 100%); $line-gradient-hover-color: linear-gradient(90deg, #936bff 0%, #b892ff 50%, #f781ce 100%); $line-gradient-active-color: linear-gradient(90deg, …

从零开始研发GPS接收机连载——19、自制GPS接收机的春运之旅

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 从零开始研发GPS接收机连载——19、自制GPS接收机的春运之旅 许久未曾更新这个系列&#xff0c;并非我平日里对这事儿没了兴致&#xff0c;不再愿意折腾。实则是受限于自身条…

智能驾驶功能LCC车道保持居中

画龙现象就是LCC常见bug LDW车道偏离预警 LKA车道保持 声音其实就是蜂鸣器 有些车是40 有些是60

Java全栈面试宝典:线程机制与Spring依赖注入深度解析

目录 一、Java线程核心机制 &#x1f525; 问题3&#xff1a;start()与run()的底层执行差异 线程启动流程图解 核心差异对照表 代码验证示例 &#x1f525; 问题4&#xff1a;Thread与Runnable的六大维度对比 类关系UML图 最佳实践代码 &#x1f525; 问题5&#xff1…

使用ANTLR4解析Yaml,JSON和Latex

文章目录 ANTLR4基本使用**1. 安装 Java 运行时&#xff08;必需&#xff09;****2. 安装 ANTLR4 命令行工具****方法一&#xff1a;通过包管理器&#xff08;推荐&#xff09;****macOS/Linux (Homebrew)****Windows (Chocolatey)** **方法二&#xff1a;手动安装&#xff08;…

NixVis 开源轻量级 Nginx 日志分析工具

NixVis NixVis 是一款基于 Go 语言开发的、开源轻量级 Nginx 日志分析工具&#xff0c;专为自部署场景设计。它提供直观的数据可视化和全面的统计分析功能&#xff0c;帮助您实时监控网站流量、访问来源和地理分布等关键指标&#xff0c;无需复杂配置即可快速部署使用。 演示…

黑盒测试的等价类划分法(输入数据划分为有效的等价类和无效的等价类)

重点: 有效等价和单个无效等价各取1个即可 1、正向用例:一条尽可能覆盖多条2、逆向用例:每一条数据&#xff0c;都是一条单独用例。 步骤: 1、明确需求 2、确定有效和无效等价 3、根据有效和无效造数据编写用例 3、适用场景 针对:需要有大量数据测试输入&#xff0c; …

Linux Mem -- 通过reserved-memory缩减内存

目录 1. reserved-memory缩减内存 2. 为什么要通过2段512GB预留内存实现该缩减呢&#xff1f; 3. reserved-momery中的no-map属性 4. 预留的的内存是否会被统计到系统MemTotal中&#xff1f; 本文是解决具体的一些思考总结&#xff0c;和Linux内核的reserved-memory机制相关…

多线程—synchronized原理

上篇文章&#xff1a; 多线程—锁策略https://blog.csdn.net/sniper_fandc/article/details/146508232?fromshareblogdetail&sharetypeblogdetail&sharerId146508232&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目录 1 synchronized的锁…

AWS混合云部署实战:打造企业级数字化转型的“黄金架构”

引言 “上云是必然&#xff0c;但全部上云未必是必然。”在数字化转型的深水区&#xff0c;企业面临的核心矛盾日益凸显&#xff1a;如何在享受公有云敏捷性的同时&#xff0c;满足数据主权、低延迟和遗留系统兼容的刚性需求&#xff1f; AWS混合云凭借“云上云下一张网”的独…