专栏首页【从零开始学习Go语言】【玩转腾讯云】四.使用云服务器CVM轻松部署Node.js
原创

【玩转腾讯云】四.使用云服务器CVM轻松部署Node.js

简介

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用来方便快速地搭建易于扩展的网络应用。Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效,非常适合运行在分布式设备的数据密集型的实时应用。Node.js的包管理器npm,是全球最大的开源库生态系统。


【前期文章】

【玩转腾讯云】一.半小时轻松搭建属于自己的Discuz论坛

【玩转腾讯云】二.基于CVM服务器轻松部署PostgreSQL数据库

【玩转腾讯云】三.云端轻松构建部署WordPress网站应用

【玩转腾讯云】四.使用云服务器CVM轻松部署Node.js


操作步骤

一.创建CVM云服务器

①在CVM云服务器面板中——实例——新建CVM云服务器

②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

③实例类型选择"标准型"——实例配置选择“标准型SA2"——“配置为1H1G”

选择配置如下图所示

④ 镜像部分选择“公共镜像——Centos、64位、Centos7.2 64位"

公网带宽选择“免费分配独立公网IP”——计费类型选择“按使用流量”——带宽值数为:100Mbps

具体配置如下,配置完毕以后点击“下一步:设置主机"进行下一步配置操作

⑤安全组配置为“已有安全组” 并选择“放通全部端口"

登陆方式为“设置密码”,并在密码处,设置对应的密码 (注意哦,密码一定要符合复杂性要求的哦,包含大写字母,小写字母,特殊字符,数字等)

配置完毕以后,点击“下一步:确认配置信息" 进行下一步配置操作

⑥所有配置完毕以后,我们点击“开通” 去开通CVM云服务器

⑦ 正在开通中....


二. 远程连接云服务器

2.1.使用远程工具登陆到服务器中

(windows系统可使用xshell或者Putty登陆,Mac系统可直接使用terminal登陆,当然啦,你也可以直接在我们的腾讯云的控制台面板上直接进行VNC连接,本篇文章以腾讯云所提供的VNC控制台直接远程连接)


三.部署Node.js环境

3.1 下载Node.js安装包

下载Node.js安装包,在CVM服务器管理控制终端中输入执行以下命令,以此完成下载。

wget https://demo-1254274996.cos.ap-beijing.myqcloud.com/node-v10.16.0-linux-arm64.tar.xz

下载完毕以后进度会走到100%,如下图到100%以后表示已经成功下载完毕

3.2 解压Node.js安装包

在CVM服务器管理控制终端中输入执行以下命令,将下载的安装包进行解压。

tar -xvf node-v10.16.0-linux-arm64.tar.xz

解压完毕以后,如下图所示

3.3 建立软链接

在CVM服务器管理控制终端中输入执行以下命令为node建立软连接

ln -s /root/node-v10.16.0-linux-arm64/bin/node /usr/local/bin/node

执行成功,如下所示:

在CVM服务器管理控制终端中输入执行以下命令为npm建立软连接

ln -s /root/node-v10.16.0-linux-arm64/bin/npm /usr/local/bin/npm

执行成功,如下所示:

3.4 查看软件版本

在CVM服务器管理控制终端中输入执行以下命令查看验证node版本

node -v

在CVM服务器管理控制终端中输入执行以下命令查看验证npm版本

npm -v

截止为止,Node.js环境已成功安装完毕~


四.使用NVM版本管理器安装Node.js多版本

4.1 下载NVM版本管理器

在CVM服务器管理控制终端中输入执行以下命令,使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。

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

执行完毕如下图所示:

4.2 激活NVM版本管理器

①执行如下命令激活NVM版本管理器

echo ". ~/.nvm/nvm.sh" >> /etc/profile

执行完毕,如下图所示

4.3 配置NVM版本管理器

在nvm/nvm.sh配置中,执行如下命令:

vim nvm.sh

在i*86行的最结尾,输入如下命令

aarch64) NVM_ARCH="arm64" ;;

输入完毕,如下所示:

按键盘上的“ESC”退出输入模式,输入以下命令后回车保存。

wq

4.4 刷新环境变量

执行如下命令刷新环境变量

source /etc/profile

刷新完毕以后如下图所示:

4.5 安装Node.js版本

执行如下命令,安装多个Node.js版本

nvm install v12.3.0

安装成功,如下图所示


五.部署测试项目

5.1.新建项目

拷贝执行以下命令,新建项目文件example.js。

cd ~ && touch example.js

执行成功,如下所示:

5.2 打开项目文件

拷贝执行以下命令,使用vim编辑器打开项目文件example.js。

vim example.js

打开项目文件是一个空文件如下图所示:

5.3 制作js文件Demo

点击键盘“i”键,进入编辑模式,将下方内容粘贴到项目文件中(该命令可以使任何用户访问的时候都可以返回一个welcome to Node.js)拷贝粘贴以下代码:

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('Welcome to Tencent ~\n');
}); 

server.listen(port, hostname, () => { 
    console.log(`Server running at http://${hostname}:${port}/`);
});

执行成功,如下所示:

点击键盘“ESC”退出编辑模式,输入以下命令后回车保存。

:wq

执行成功,如下所示:

5.4 运行项目

拷贝执行以下命令,运行项目。(运行后再次回车)

node ~/example.js &

执行成功界面如下:


六.正式访问

6.1 通过浏览器访问项目

我们通过在浏览器中输入http://CVM实例公网IP地址:3000访问项目,如下图所示:

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【玩转腾讯云】十一.轻松打造一款好用的私有云笔记

    ②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

    一只特立独行的兔先生
  • 【玩转腾讯云】七.基于CVM快速搭建部署属于自己的维基百科

    ②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

    一只特立独行的兔先生
  • 【玩转腾讯云】二.基于CVM服务器轻松部署PostgreSQL数据库

    ②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可

    一只特立独行的兔先生
  • postman从入门到精通

    今天总监让我给测试同事们培训postman,使用过postman的朋友应该知道,这个简直就是前后端接口调试神器。根据平时的经验以及自己到网上看了相关的帖子,对于...

    编程软文
  • electron 构建跨平台桌面应用

    昨日(2016.09.13)本文发表后,获得了一定的阅读和转发量,但经部分网友反馈和仔细审核后发现,在与 NW.js 对比的环节,言辞欠妥,且数据的真实性有待考...

    QQ音乐技术团队
  • Vue 折腾记 - (14) Nuxt.js 2 正式版升级采坑以及部署姿势改动

    整个配置文件分两部分: apps(启动应用的相关信息,环境变量,进程执行模式等) , deploy(部署区域)

    CRPER
  • 城市三级联动查询

    很多实现三级联动查询的方式是通过数据库的方式查询的,但是有时候我们查询的不一定是城市三级联动,有可能是其他的三级联动查询,那么数据库的修改就成了大问题。今天我来...

    无邪Z
  • 交大计算机课程(4):

    1、什么是操作系统(os) 用以控制和管理系统资源、方便用户使用计算机的程序的集合,是人机交互的接口。 2、操作系统两大功能 管理员 管理硬件和软件资源...

    雷潮
  • 开发过程中快速抓包并解析

    这几天小编在工作中遇到了一个灵异事件,客户端使用的是安卓原生系统,服务端使用的是java。需求就是客户端在照相的时候可以实时上传照片。后台接收并保存,并且可以在...

    编程软文
  • 剑指Offer面试题:11.打印1到最大的n位数

      初看之下好像没有问题,但是其并没有考虑大数问题,有可能即使用整型(int)或长整型(long)都会溢出。

    Edison Zhou

扫码关注云+社区

领取腾讯云代金券