【转载】Centos系统采用NVM安装Node.js环境

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效,非常适合运行在分布式设备的数据密集型的实时应用。在阿里云的Centos系统上,可以采用NVM安装方式部署Node.js环境,并且支持多版本。NVM(Node version manager)是Node.js的版本管理软件,使用户可以轻松在Node.js各个版本间进行切换。使用NVM的方式安装Node.js非常适合Node.js开发人员,同时也特别适合以下情形,要求快速更新Node.js版本或者快速切换Node.js版本的情况。

先说下在阿里云上通过NVM方式安装Node.js项目所需的一些前提条件:你的账号下面需要拥有一台阿里云ECS服务器,运行的系统镜像是CentOS7.2,这台ECS服务器必须可以连接到公网,并且本地已经安装用于连接 Linux 实例的工具。如果你不清楚阿里云账号下是否拥有ECS服务器,可通过ECS服务器控制台查看即可知道。如果没有的话,可以通过官网的ECS服务器采购页面购买一台即可,具体配置看你项目需要,不再详细阐述如何选择配置。

下面开始讲解如何在Centos上采用NVM方式部署Node.js项目的步骤:

(1)可以使用git的源代码管理工具将源码克隆到本地~/.nvm目录下,并检查最新版本。

yum install git
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev=0 --tags

(2)激活NVM,并且可以使用nvm list-remote列出Node.js的所有版本。激活的命令如下:

echo “. ~/.nvm/nvm.sh” >> /etc/profile
source /etc/profile

(3)使用NVM命令安装多版本Node.js

nvm install v6.9.5
nvm install v7.4.0

(4)运行 nvm ls 命令可以查看到当前已经安装的Node.js的版本号,从下面的直接结果可看出版本为版本为v6.9.5。

[root@iZXXXXZ .nvm]# nvm ls
v6.9.5
-> v7.4.0
system
stable -> 7.4 (-> v7.4.0) (default)
unstable -> 6.9 (-> v6.9.5) (default)
(5)运行 nvm use v7.4.0 切换Node.js版本至v7.4.0。

(6)从这一步开始部署项目,新建一个Node.js项目文件叫做example.js。

cd ~
touch example.js

(7)使用vim编辑器打开项目文件example.js。

yum install vim
vim example.js
(8)输入 i,进入编辑模式,将以下项目文件内容粘贴到文件中。使用 Esc 按钮,退出编辑模式,输入 :wq,回车,保存文件内容并退出。

const http = require(‘http’);
const hostname = ‘0.0.0.0’;
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader(‘Content-Type’, ‘text/plain’);
res.end(‘Hello World\n’);
});
server.listen(port, hostname, () => {
console.log(Server running at http://${hostname}:${port}/);
});
(9)通过node ~/example.js命令来运行项目,可以使用netstat -tpln查看端口是否存在。

(10)登录阿里云ECS管理控制台,并在安全组中 添加安全组规则 放行端口(如本示例中为TCP 3000端口)。

(11)如果你的服务器开启了防火墙功能,则需要在防火墙中设置允许入站的端口号。

(12)最后,在你的浏览器上输入以下格式访问,如果访问成功则代表Node.js环境已经部署好,格式:http://你的服务器实例的公网IP地址:端口号。

阿里云官方帮助文档请参考:部署Node.js项目(CentOS)

备注:此文章转载自博主个人技术站点:IT技术小趣屋
原文链接:查看原文

猜你喜欢

转载自blog.csdn.net/weixin_39650424/article/details/88072806