手把手教你基于华为云鲲鹏弹性云服务器部署Node.js环境 ...

打印 上一主题 下一主题

主题 529|帖子 529|积分 1587

本文分享自华为云社区《华为云之使用鲲鹏弹性云服务器部署Node.js环境【玩转华为云】》,作者:江湖有缘。
一、本次实践介绍

1.1 实践环境简介

本次实践环境使用华为KooLabs云实行平台。
本次实践基于基于华为云鲲鹏弹性云服务器。
在HCE体系上安装、部署、测试Node.js项目。
1.3 本次实践完成目的


  • 熟悉华为云ECS服务器
  • 纯熟使用Linux体系环境
  • 熟悉node.js的基本使用
  • 在HCE体系上安装、部署、测试Node.js项目。
二、 相关服务介绍

2.1 华为云ECS云服务器介绍

弹性云服务器(Elastic Cloud Server, ECS)是一种云上可随时自助获取、可弹性伸缩的计算服务,可资助您打造安全、可靠、灵活、高效的应用环境。
 

 
2.2 Node.js介绍

Node.js 是一个开源、跨平台的JavaScript运行环境,它使你可以在服务器端执行JavaScript代码。它采用事件驱动、非壅闭I/O模子,使得它能够高效地处理大量的并发请求。Node.js可用于构建各种类型的应用程序,包括Web服务器、API服务器、命令行工具、桌面应用等。它已经被广泛应用于各个领域,包括企业应用、交际媒体、物联网等。
三、环境准备工作

3.1 预置实行环境

开始实行之前请点击手册上方“预置实行环境”按钮。
预置实行环境需几分钟,乐成后将会创建本实行所需的云资源(例如VPC、安全组或云服务器)。
 

 
3.2 查看预置环境信息

预置乐成后ECS资源用户、暗码信息可点击预置环境信息查看。
 

 
四、登录华为云

4.1 登录华为云

进入【实行操作桌面】,打开Chrome浏览器,初次可自动登录并进入华为云控制台页面。
 

 
登录完毕后,进入华为云控制台管理首页。
 

 
4.2 查看ECS状态

在华为云的首页服务列表中,点击“弹性云服务器ECS”,进入ECS云服务器管理页面。
 

 
在ECS管理页面,我们看到体系已经为我们创建了1台ECS弹性云服务器,状态处于正常运行状态。
 

 
五、登录弹性云服务器

5.1 复制弹性公网IP地址

在ECS云服务器列表,复制其弹性公网IP地址。
 

 
5.2 重置暗码

由于预置的ECS云服务器暗码太长太难输入,输入多次错误,为了避免浪费时间,直接重置暗码,这里重置华为一样平常默认暗码:Huawei@1234
 

 
5.3 连接云服务器

双击桌面的“Xfce终端”打开Terminal,执行以下命令登录云服务器。
  1. LANG=en_us.UTF-8 ssh root@EIP
复制代码

 
5.4 检查操作体系版本

检查当前操作体系版本
  1. [root@ecs-01 ~]# cat /etc/os-release
  2. NAME="Huawei Cloud EulerOS"
  3. VERSION="2.0 (aarch64)"
  4. ID="hce"
  5. VERSION_ID="2.0"
  6. PRETTY_NAME="Huawei Cloud EulerOS 2.0 (aarch64)"
  7. ANSI_COLOR="0;31"
复制代码
5.5 查看体系内核版本

查看体系内核版本
  1. [root@ecs-01 ~]# uname -r
  2. 5.10.0-60.18.0.50.r1083_58.hce2.aarch64
复制代码
5.6 查询cpu信息

查看鲲鹏cpu信息
  1. [root@ecs-01 ~]# lscpu
  2. Architecture:           aarch64
  3.   CPU op-mode(s):       64-bit
  4.   Byte Order:           Little Endian
  5. CPU(s):                 2
  6.   On-line CPU(s) list:  0,1
  7. Vendor ID:              HiSilicon
  8.   BIOS Vendor ID:       QEMU
  9.   Model name:           Kunpeng-920
  10.     BIOS Model name:    1.0
  11.     Model:              0
  12.     Thread(s) per core: 1
  13.     Core(s) per socket: 2
  14.     Socket(s):          1
  15.     Stepping:           0x1
  16.     Frequency boost:    disabled
  17.     CPU max MHz:        2600.0000
  18.     CPU min MHz:        2600.0000
  19.     BogoMIPS:           200.00
  20.     Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
  21. Caches (sum of all):   
  22.   L1d:                  128 KiB (2 instances)
  23.   L1i:                  128 KiB (2 instances)
  24.   L2:                   1 MiB (2 instances)
  25.   L3:                   32 MiB (1 instance)
  26. NUMA:                  
  27.   NUMA node(s):         1
  28.   NUMA node0 CPU(s):    0,1
  29. Vulnerabilities:        
  30.   Gather data sampling: Not affected
  31.   Itlb multihit:        Not affected
  32.   L1tf:                 Not affected
  33.   Mds:                  Not affected
  34.   Meltdown:             Not affected
  35.   Mmio stale data:      Not affected
  36.   Retbleed:             Not affected
  37.   Spec rstack overflow: Not affected
  38.   Spec store bypass:    Vulnerable
  39.   Spectre v1:           Mitigation; __user pointer sanitization
  40.   Spectre v2:           Not affected
  41.   Srbds:                Not affected
  42.   Tsx async abort:      Not affected
复制代码
六、配置Node.js环境

6.1 下载Node.js安装包

在Terminal中执行以下命令,下载Node.js安装包至云服务器。
  1. wget https://sandbox-experiment-files.obs.cn-north-4.myhuaweicloud.com/2434/node-v10.16.0-linux-arm64.tar.xz
复制代码
 

 
6.2 解压文件

在Terminal中执行以下命令,将下载的安装包进行解压。
  1. tar xvf node-v10.16.0-linux-arm64.tar.xz
复制代码
 

 
6.3 创建软连接

在Terminal中执行以下命令,为node创建软连接。
  1. ln -s /root/node-v10.16.0-linux-arm64/bin/node /usr/local/bin/node
复制代码
在Terminal中执行以下命令,为npm创建软连接。
  1. ln -s /root/node-v10.16.0-linux-arm64/bin/npm /usr/local/bin/npm
复制代码
6.4 查看软件版本

检查安装node和npm版本
  1. [root@ecs-01 ~]# node -v
  2. v10.16.0
  3. [root@ecs-01 ~]# npm -v
  4. 6.9.0
复制代码
七、安装NVM版本管理器

7.1 下载NVM安装包

在Terminal中执行以下命令,下载NVM安装包至云服务器。
 

 
7.2 解压安装包

在Terminal中执行以下命令,解压安装包至指定目录。
  1. mkdir -p /.nvm
  2. tar -zxvf nvm-0.39.5.tar.gz -C /.nvm
复制代码
 

 
7.3 配置变量

在Terminal中执行以下命令,使用vim修改配置文件。
  1. vim ~/.bashrc
  2. export NVM_DIR="/.nvm/nvm-0.39.5"
  3. [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
  4. [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
复制代码
7.4 使配置文件见效

在Terminal中执行以下命令,革新配置文件。
  1. source ~/.bashrc
复制代码
7.5 安装Node.js版本

拷贝执行以下命令,安装多个Node.js版本。
  1. nvm install v12.3.0
复制代码
 

 
7.6 查看node.js多个版本

使用 nvm (Node Version Manager) 来查看已安装的多个 Node.js 版本,你可以运行以下命令:
  1. [root@ecs-01 ~]# nvm list
  2. ->      v12.3.0
  3.          system
  4. default -> v12.3.0
  5. iojs -> N/A (default)
  6. unstable -> N/A (default)
  7. node -> stable (-> v12.3.0) (default)
  8. stable -> 12.3 (-> v12.3.0) (default)
  9. lts/* -> lts/iron (-> N/A)
  10. lts/argon -> v4.9.1 (-> N/A)
  11. lts/boron -> v6.17.1 (-> N/A)
  12. lts/carbon -> v8.17.0 (-> N/A)
  13. lts/dubnium -> v10.24.1 (-> N/A)
  14. lts/erbium -> v12.22.12 (-> N/A)
  15. lts/fermium -> v14.21.3 (-> N/A)
  16. lts/gallium -> v16.20.2 (-> N/A)
  17. lts/hydrogen -> v18.20.4 (-> N/A)
  18. lts/iron -> v20.15.1 (-> N/A)
复制代码
查看当前使用node版本
  1. [root@ecs-01 ~]# nvm current
  2. v12.3.0
复制代码
八、部署测试项目

8.1 新建项目文件

新建项目文件example.js
  1. cd ~ && touch example.js
复制代码
8.2 编辑项目文件

将下方内容粘贴到项目文件中(该命令可以使任何用户访问的时候都可以返回一个welcome to Node.js)
  1. vim example.js
  2. const http = require('http');
  3. const hostname = '0.0.0.0';
  4. const port = 3000;
  5. const server = http.createServer((req, res) => {
  6.     res.statusCode = 200;
  7.     res.setHeader('Content-Type', 'text/plain');
  8.     res.end('Welcome to Node.js\n');
  9. });
  10. server.listen(port, hostname, () => {
  11.     console.log(`Server running at http://${hostname}:${port}/`);
  12. });
复制代码
 

 
8.3 运行项目

执行以下命令,运行项目。
  1. node ~/example.js &
复制代码
 

 
8.4 查看项目运行状态

拷贝执行以下命令查看是否在监听项目端口,返回的结果列表中包含端口3000,表明项目正常运行。
  1. [root@ecs-01 ~]# netstat -tunlp
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
  4. tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1650/sshd: /usr/sbi
  5. tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      2609/node           
  6. tcp6       0      0 :::22                   :::*                    LISTEN      1650/sshd: /usr/sbi
  7. udp        0      0 0.0.0.0:68              0.0.0.0:*                           982/dhclient        
  8. udp        0      0 127.0.0.1:323           0.0.0.0:*                           788/chronyd         
  9. udp6       0      0 ::1:323                 :::*                                788/chronyd         
  10. [root@ecs-01 ~]#
复制代码

 
8.5 更改安全组

在云服务器的安全组页面,在入方向上放行3000端口。
 

 
8.6 访问验证

在在实行桌面的浏览器中输入http://ECS实例公网IP地址:3000访问项目,如下图所示:
 

 
点击关注,第一时间相识华为云新鲜技术~
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

没腿的鸟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表