01 . 部署Node.js项目

Posted you-men

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01 . 部署Node.js项目相关的知识,希望对你有一定的参考价值。

Node.js简介

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

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

部署Node.js环境

二进制安装

该部署过程使用的安装包是已编译好的二进制文件,解压之后,在bin文件夹就已存在node和npm,无需重复编译.

下载解压node.js安装包

wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
tar xf node-v6.9.5-linux-x64.tar.xz 
ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm

# 查看版本
npm -v
3.10.10
node -v
v6.9.5

# 至此,Node.js环境已安装完毕。软件默认安装在/root/node-v6.9.5-linux-x64/目录下。

# 如果需要将软件安装到其他目录(例如: /opt/node/下),执行下卖弄步骤
mkdir -p /opt/node/
mv /root/node-v6.9.5-linux-x64/* /opt/node/
rm -f /usr/local/bin/node
rm -f /usr/local/bin/npm
ln -s /opt/node/bin/node /usr/local/bin/node
ln -s /opt/node/bin/npm /usr/local/bin/npm
使用NVM安装多版本

NVM(Node Version Manager)是Node.js的版本管理软件,使您可以轻松在Node.js各个版本间进行切换。适用于长期做node开发的人员或有快速更新node版本、快速切换node版本的场景。

完成以下操作,使用NVM安装多个Node.js版本

使用git将远吗克隆到~/.nvm目录下,并检查最新版本

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

# 激活NVM
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile

# 列出Node.js所有版本
nvm list-remote

# 安装多个Node.js版本
nvm install v6.9.5
nvm install v7.4.0


# 运行nvm 1s查看已安装的Node.js版本,当前使用的版本为v7.4.0。返回结果如下所示
nvm ls
->       v6.9.5
         system
unstable -> 6.9 (-> v6.9.5) (default)

部署测试项目

1 . 新建项目文件example.js

cd ~
vim  example.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(‘Hello World
‘);
}); 

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

2 . 运行项目

node ~/example.js &

# 查看是否监听项目端口,如果返回3000代表OK
ss -tnl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      128     *:80                  *:*                  
LISTEN      0      128     *:22                  *:*                  
LISTEN      0      128     *:3000                *:* 

技术图片

以上是关于01 . 部署Node.js项目的主要内容,如果未能解决你的问题,请参考以下文章

Node.js JavaScript 片段中的跳过代码

Node.js项目实战:从编写代码到服务器部署

澄清 node.js + promises 片段

node.js项目部署

新浪SAE部署node.js(秒懂版)

如何在docker里部署nodejs