博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
部署node程序并维持正常运行时间
阅读量:5299 次
发布时间:2019-06-14

本文共 1577 字,大约阅读时间需要 5 分钟。

12.2部署的基础知识

假定你创建了一个想要展示的Web程序,或者创建了一个商业应用,在把它放到生产环境中
之前需要测试一下。你很可能会从一个简单的部署开始,然后再做些工作让它的正常运行时间和
性能达到最优。本节会带着你经历一次简单、临时的Git部署,并教你如何用Forever把程序跑起
来。临时性部署在重启后会丢失,但它们的优势是设置起来很迅速。

12.2.1 从Git存储库部署
我们快速过一下使用Git存储库的基本部署,让你对主要步骤有个直观的认识。
大多数部署都需要完成下面这些步骤:
(1) 用SSH连接到服务器上;
(2) 如果需要的话,在服务器上安装Node和版本控制工具(比如Git和Subversion) ;
(3) 从版本控制存储库中下载程序文件,包括Node脚本、图片和CSS样式表,放到服务器上;
(4) 启动程序。
这里有个例子,用Git下载完程序文件后启动它:
像PHP一样,Node也不是后台任务。因此我们列出来的这个基本部署不能断开 SSH连接。SSH
连接一旦断开,程序就会终止。不过用一个简单的工具就可以轻松地让程序保持运行状态。
自动部署 有几种可以自动部署Node 程序的办法。其中一种是使用Fleet
(https://github.com/substack/fleet)这样的工具,可以用git push部署到一或多个服务器
上。更传统的方式是用Capistrano, Evan Tahler的博客 Bricolage上发表了一篇详细介绍
文章“用Capistrano部署node.js程序”(http://mng.bz/3K9H)。

12.2.2 让Node保持运行
比如说你用Cloud9 Nog博客程序(https://github.com/c9/nog)创建了一个个人博客,现在你
想要部署它,并要确保在你断开SSH连接后它仍能运行。
在Node社区中,针对这个问题最常用的处理工具是Nodejitsu的Forever(https://github.com/
nodejitsu/forever)。它能在你断开SSH连接后让程序保持运行状态,在程序崩溃退出后还能重启它。
图12-3是Forever工作机制的概念图。

你可以用sudo命令做Forever的全局安装。
SUDO命令 在做npm模块的全局安装时(带-g选项),经常需要在npm命令前面
加上sudo(www.sudo.ws/),以超级管理员的权限运行npm命令。在你第一次使用sudo
命令时,系统会提示你输入密码。然后再运行跟在sudo后面的命令。
如果你一直跟着我们,现在用下面的命令安装Forever:

sudo npm install  -g   forever

Forever装好之后,你可以用下面这条命令启动你的博客,并让它一直运行下去:

forever start  server.js

如果出于某些原因你想停止这个博客,可以用Forever的stop命令:

forever stop server.js

使用Forever时,你可以用它的list命令获取它所管理的程序清单:

forever list

Forever还有一个比较实用的功能,当有源码文件发生变化时,可以让它重启程序。这样每次

添加新特性或修订bug时,你就不用再手动重启了。
要在这种模式下启动Forever,请用-w选项:

forever -w  start server.js

尽管Forever在程序部署上是一个极其实用的工具,但你可能想要一些功能更完备的东西做长

期部署。下一节我们会看一些工业级强度的监测方案,并看看如何让程序的性能达到最优。

 

转载于:https://www.cnblogs.com/wuxiang/p/4766757.html

你可能感兴趣的文章
多思多问,注重细节
查看>>
【深度学习中的线性代数理解】中的各种量理解:标量、向量、矩阵、张量
查看>>
纯CSS实现点击一个元素,背景颜色切换
查看>>
Oracle中常用的计算、统计类函数
查看>>
白盒测试
查看>>
15.组件切换-切换动画
查看>>
STM32 USART整理说明(转)
查看>>
mqtt
查看>>
Keras
查看>>
git 基本使用方法
查看>>
Linux常用命令大全2
查看>>
【三石jQuery视频教程】03.创建垂直时间表(Timeline)
查看>>
如何在FineUIMvc(ASP.NET MVC)视图中绑定多个模型?
查看>>
汇编3栈帧,参数传递,串操作,混合汇编,x64,asm文件
查看>>
构建之法阅读笔记06
查看>>
mysql 事务,锁,与四大隔离级别
查看>>
输入输出
查看>>
FastCGI学习总结
查看>>
UVA - 699 The Falling Leaves
查看>>
关于博客园开放API的授权问题解决
查看>>