阿里云的ECS机器部署Nodejs项目

Node.js典型应用场景

  • 实时应用:如在线聊天,实时通知推送等等(如:soket.io)
  • 分布式应用:通过高效的并行I/O使用已有的数据
  • 工具类应用:海量的工具,小到前端压缩部署(如:grunt),大到桌面图形界面应用程序
  • 游戏类应用:游戏领域对实时和并发有很高的要求(如网易的pomelo框架)
  • 利用稳定接口提升Web渲染能力
  • 前后端编程语言环境统一:前端开发人员可以非常快速的切入到服务器端的开发(如著名的纯JavaScript全栈式MEAN架构)

使用对象

本文档介绍如何在阿里云CentOS系统的云服务器ECS实例上,安装Nodejs并部署项目。

准备工作

  • 购买ECS实例
  • 实例运行的系统是CentOS7.2
  • 实例可以连接公网
  • 本地安装远程管理工具 Xshell

基本流程

  • 购买ESC实例
  • 部署Nodejs环境,二进制文件安装
  • 部署Nodejs环境,使用NVM安装多版本
  • 部署测试项目

注:2和3步骤,根据你的实际应用场景,选择其一

操作步骤

步骤1:创建ECS实例

在创建实例时,选择操作系统为公共镜像CentOS7.2,然后使用root用户登录Linux实例。

步骤2:部署Nodejs环境 —— 二进制文件安装

该部署过程中使用的安装包是已编译好的二进制文件,解压之后,在bin文件夹中就已存在node和npm,无需手工编译。
安装步骤:
1、wget命令下载Node安装包

1.wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz

2、解压文件

1.tar xvf node-v6.9.5-linux-x64.tar.xz

3、创建软连接,使用node和npm命令全局有效
通过创建软连接的方法,使得在任意目录下都可以直接使用node和npm命令

1.ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node
2.ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm

4、查看node、npm版本

1.node -v
2.npm -v

5、至此,node环境已安装完毕
软件默认安装在/root/node-v6.9.5-linux-x64/目录下,如果需要将软件安装到其他目录下,请进行如下操作:

1.mkdir -p /opt/node/ 创建目录
2.mv /root/node-v6.9.5-linux-x64/* /opt/node/ 剪切到目标目录
3.rm -f /usr/local/bin/node 删除node软连接
4.rm -f /usr/local/bin/npm 删除npm软连接
5.ln -s /opt/node/bin/node /usr/local/bin/node 重新创建node软连接
6.ln -s /opt/node/bin/npm /usr/local/bin/npm 重新创建npm软连接

步骤3:部署测试项目

1、新建项目文件example.js

1.cd ~ 返回root目录
touch example.js 新建文件

2、使用vim编辑器打开example.js

1.yun install vim 安装vim
2.vim example.js

输入”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}/`);
});

3、运行项目

1.node example.js

注:可以使用命令“node ~/example.js &”将项目置于后台运行。

4、使用命令查看项目端口是否存在

1.netstat -tpln

5、再浏览器中输入http://IP+端口号访问项目。

你可能感兴趣的:(Nodejs)