设为首页 收藏本站
查看: 1003|回复: 0

[经验分享] 阿里云部署Node.js项目(CentOS)

[复制链接]

尚未签到

发表于 2017-11-15 16:04:18 | 显示全部楼层 |阅读模式
  Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效,非常适合运行在分布式设备的数据密集型的实时应用。Node.js 的包管理器 npm,是全球最大的开源库生态系统。典型的应用场景包括:
  实时应用:如在线聊天,实时通知推送等等(如socket.io)
  
分布式应用:通过高效的并行I/O使用已有的数据
  
工具类应用:海量的工具,小到前端压缩部署(如grunt),大到桌面图形界面应用程序
  
游戏类应用:游戏领域对实时和并发有很高的要求(如网易的pomelo框架)
  
利用稳定接口提升Web渲染能力
  
前后端编程语言环境统一:前端开发人员可以非常快速地切入到服务器端的开发(如著名的纯Javascript全栈式MEAN架构)

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

准备工作
  部署之前,请做如下准备工作:
  购买ECS实例
  
您的实例运行的镜像是CentOS7.2
  
您的实例可以连接公网
  
本地已经安装用于连接 Linux 实例的工具,如 Xshell

基本流程
  使用云服务器 ECS 安装Nodejs并部署项目的操作步骤如下:

购买 ECS 实例。
  部署Node.js环境-二进制文件安装。
  
部署Node.js环境-使用NVM安装多版本。
  
部署测试项目。
  
注:2和3步骤,根据您的实际应用场景,任选其一。

操作步骤
  步骤 1:创建ECS实例
  选择操作系统为公共镜像CentOS7.2。使用root用户登录Linux实例。
  步骤2:部署Node.js环境—二进制文件安装
  该部署过程使用的安装包是已编译好的二进制文件,解压之后,在bin文件夹中就已存在node和npm,无需手工编译。

安装步骤:
  1、 wget命令下载Node.js安装包。
  该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译。
  

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

  2、 解压文件。
  

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

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

  
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
  

  4,查看node、npm版本。
  

  
node -v
  
npm -v
  

  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
  

  步骤3:部署Node.js环境-使用NVM安装多版本
  NVM(Node version manager)是Node.js的版本管理软件,使用户可以轻松在Node.js各个版本间进行切换。适用于长期做 node 开发的人员或有快速更新node版本、快速切换node版本这一需求的用户。

安装步骤:
  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。
  

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

  3、列出Node.js的所有版本。
  

  
nvm list-remote
  

  4、安装多个Node.js版本。
  

  
nvm install v6.9.5
  
nvm install v7.4.0
  

  5、查看已安装Node.js版本,当前使用的版本为v6.9.5。
  

  
[iyunv@iZuf62didsxigy36d6kjtrZ .nvm]# nvm ls
  
-> v6.9.5
  
v7.4.0
  

  6、切换Node.js版本至v7.4.0。
  

  
[iyunv@iZuf62didsxigy36d6kjtrZ .nvm]# nvm use v7.4.0
  
Now using node v7.4.0
  

  NVM的更多操作请参考帮助文档:
  

  
nvm help
  

  步骤4:部署测试项目
  1、新建项目文件example.js。
  

  
cd ~
  
touch example.js
  

  2、使用vim编辑器打开项目文件example.js。
  

  
yum install vim
  
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}/`);
  
});
  

  注:项目文件内容中的3000为端口号,可以自行定义。
  3、运行项目。
  

  
node ~/example.js
  

  注:可以使用命令“node ~/example.js &”将项目置于后台运行。
  4、使用命令查看项目端口是否存在。
  

  
netstat -tpln
  

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

安装pm2 守护node进程
  1.安装
  

npm install -g pm2  

  此时执行pm2可能会提示找不到pm2命令
  
2.通过创建软链接的方法,使得在任意目录下都可以直接使用pm2命令:
  

  
ln -s /root/node-v6.9.5-linux-x64/bin/pm2 /usr/local/bin/pm2
  

  3.运行
  

cd myapp/  
pm2 start ./bin/www
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407273-1-1.html 上篇帖子: Centos 7环境下安装配置Hadoop 3.0 Beta1简记 下篇帖子: centos开机提示CPU无法识别的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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