展开

关键词

PM2一键搞定,同时部署发布Node.js项目!

一、使用场景在 node.js 项目部署发布时,经常用 SSH 分别连接,对每一台都要执行 git pull 最新代码,编译启动应用的操作,操作琐碎且容易忘记其中某些操作。 pm2 可以很好解决这问题,只需一命令就可以自动完成,还能实时监控、查看 node.js 应用的运行情况。二、解决方案第一步:环境配置安装 node.js :不会,看这里! 所在目录执行下面命令,初始化 node.js 项目 到pm2 deploy production setup pm2 连接,通知其 git clone 代码等初始化工作。 启动 或 更新 node.js 项目:pm2 deploy production --force; 让 git pull 代码,编译后启动应用 --force 的作用:如果本地代码有改动,那么放弃改动 一键搞定,同时部署发布Node.js项目!

10720

使用pm2部署node生产环境

->node app.js->再次运行;浏览忽然访问不到,好像出错啦? 通过这很常用的场景,我们了解到要避免这些麻烦一至少需要有:后台运行和自动重启,这两能力。 再来看看使用pm2可拥有的能力: 日志管理;两种日志,pm2系统日志与管理的进程日志,默认会把进程的控制台输出记录到日志中;负载均衡:PM2可以通过创建共享同一端口的子进程来扩展您的应用程序。 SSH部署:自动部署,避免逐在所有中进行ssh。静态:支持静态功能支持开发调试模式,非后台运行,pm2-dev start ;。。。。。太过强大! pm2 gracefulReload all 以群集模式重新加载所有应用程序 启动静态pm2 serve .dist 8080将目录dist作为静态根目录,端口为8080 删除应用pm2

2.2K40
  • 广告
    关闭

    90+款云产品免费体验

    提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    记一下 pm2 常用配置及命令

    PM2 是 node 进程管理工具,可以利用它来简化很 node 应用管理的繁琐任,如性能监控、自动重启、负载均衡等,而且使用非常简单。 安装npm install -g pm2常用命令pm2 start # 启动pm2 list# 查看当前所跑的详情pm2 show # 查看更加详细的信息这命令可查看pm2配置 包括日志文件存放的位置等 pm2 stop # 关闭某pm2 delete # 删除某pm2 stop all# 关闭所有pm2 logs# 查看实时日志pm2 restart # 重新启动启动参数说明:-- -i --instances:启用实例,可用于负载均衡。如果 -i 0 或者 -i max,则根据当前机核数确定实例数目。 repo: git@github.com:ihoeyhitalk.git, 仓库地址 path: rootwwwhitalkproduction, 要发布到上哪目录下面 ssh_options

    2.7K20

    学习PM2,从这里开始!

    PM2是 node.js项目 的进程管理工具,常用功能如下:让 node.js项目 能在文件更新时自动重启;让 node.js项目 能在异常重启后也能自动启动;可以试试查看 ndoe.js项目 的输出日志 ,已经修改调整日志输出格式,加上时间前缀等;让 node.js项目 部署在台远程上,且能实现项目版本自动更新发布等自动化操作;让 node.js项目 不改变代码的情况下,开启进程提升性能 2、查看日志查看 pm2 管理的 Node.js 进程,输出的日志信息(包括错误日志)。详情,看这里!3、配置文件管理应用用配置文件管理 Node.js 项目,轻松方便!详情,看这里! 5、远程自动化部署一句命令,可以让同时下载git仓库代码 并编译更新,自动发布 Node.js 项目。详情,看这里! 8、重启,Node.js 自启动当遇到异常重启后,Node.js 项目可以自启动,恢复!详情,看这里!9、文件共享pm2 一句命令即可开启一文件共享!详情,看这里!

    6740

    如何在CentOS 7上设置Node.js生产应用程序

    在本教程中,我们将介绍如何设置一生产就绪的Node.js环境,该环境由两CentOS 7组成; 一台将运行由PM2管理的Node.js应用程序,而另一台将通过Nginx反向代理向用户提供对应用程序的访问权限 没有的同学可以在这里购买,不过我人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买。准备本教程使用两台带有专用网络的 CentOS 7(在同一数据中心内)。 用户将访问此的公共IP地址以访问您的Node.js应用程序。本教程可以使用单,但您必须在此过程中进行一些更改。 要测试应用程序,请打开另一终端会话并连接到您的Web。由于Web位于同一专用网络上,因此应该能够使用curl使该访问应用的专用IP地址。 其他PM2用法(可选)PM2提供了许子命令,允许您管理或查找有关应用程序的信息。请注意,不带任何参数的pm2的运行将显示一帮助页面,包括示例用法,它比本教程的这一部分更详细地介绍了PM2的使用。

    58800

    PM2 进程管理工具使用总结

    官方的说法,pm2 是一带有负载均衡功能的Node应用的进程管理人认为,并不准确,因为pm2支持种语言,只是对于除node之外的其他进程无负载均衡的能力。 就人理解,node为提供网络,启动实例需要地址端口复用,此时便可使用cluster模式实现,但fork模式并不支持地址端口复用,实例进程启动会产生异常错误。 但对于常驻任脚本而言,不需要提供网络,此时进程启动可以实现,同时也提高了任处理效率。 ,可以尝试一下,安装配置非常容易,我也只是粗浅的尝试了一下,可以参考cnodejs.orgtopic56554…本人对监控研究不,这里的监控主体是应用进程,非,就只说说我比较喜欢的几功能:利于监控管理 ,对于有着众的公司而言费用昂贵,而且与应用进程等状态信息是敏感性数据,接入到第三方平台中无法接受。

    1.1K40

    PM2变为文件共享

    一、问题简介用 pm2 可以起送开启一文件,共享文件。首先需要安装 pm2pm2安装,看这里! 二、解决方案1假设 ~test 目录下有一 test.txt 文件# 开启文件,默认端口是8080,可以根据需要修改pm2 serve ~test 8080 # 浏览访问http:localhost 访问共享目录时,默认打开 index.html pm2 serve Welcome 这是 pm2 ! start ecosystem.config.js #或者pm2 start # 5、浏览访问http:localhost:8080五、解决方案4使用用户名和密码来访问。 start ecosystem.config.js #或者pm2 start # 5、浏览访问(需要输入上面用户名和密码)http:localhost:8080六、参考文档PM2变为文件共享

    5530

    如何在Ubuntu 16.04上设置Node.js生产应用程序

    在本教程中,我们将介绍如何在单Ubuntu 16.04上设置生产就绪的Node.js环境。 该将运行由PM2管理的Node.js应用程序,并通过Nginx反向代理为用户提供对应用程序的安全访问。Nginx将使用Lets Encrypt提供的免费证书提供HTTPS。 没有的同学可以在这里购买,不过我人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买。 我们将使用npm与Node.js一起安装的Node模块的包管理在我们的上安装PM2。 该startup子命令生成并配置启动脚本启动PM2和管理流程上的引导:pm2 startup systemd结果输出的最后一行将包含一必须以超级用户权限运行的命令: Init System found

    18300

    如何在Debian 9上设置Node.js生产应用程序

    在本教程中,您将在单Debian 9上设置生产就绪的Node.js环境。该将运行由PM2管理的Node.js应用程序,并通过Nginx反向代理为用户提供对应用程序的安全访问。 没有的同学可以在这里购买,不过我人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买。您应该拥有一具有sudo权限和活动防火墙的非root用户。 一域名指向你的的公网IP。本教程将始终使用域名example.com。如果您没有域名,建议您先去这里注册一域名,您需要将域名解析到您的,您可以使用腾讯云云解析进行快速设置。 完成准备后,您将在https:example.com拥有一,为您的域的默认占位符页面提供。 此子命令生成并配置启动脚本,以在启动时启动PM2及其托管进程:pm2 startup systemd结果输出的最后一行将包含一以超级用户权限运行的命令,以便将PM2设置为在启动时启动: Init

    48551

    在腾讯云CVM上安装熟悉Node.js

    您可以按照我们腾讯云安全组配置了解如何配置常规用户帐户并为您的设置防火墙。 还需要您有一域名,并指向您的地址。 我们将使用与Node.js一起安装的Node模块的包管理npm在我们的上安装PM2。使用此命令安装PM2。 该startup子命令生成并配置启动脚本启动PM2和管理流程上的引导。 将Nginx设置为反向代理既然您的应用程序正在运行,并且正在侦听 localhost ,那么您需要为用户设置一种访问它的方法。为此,我们将设置一Nginx Web作为反向代理。 本教程将从头开始设置Nginx。如果您已经安装了Nginx,则可以将location块复制到您选择的块中(确保该位置不会与您的任何Web的现有内容冲突)。

    67250

    如何建立一Node.js的应用生产在Ubuntu 14.04

    在本教程中,我们将介绍如何设置由两Ubuntu 14.04组成的生产就绪Node.js环境;一将运行由PM2管理的Node.js应用程序,另一将通过Nginx逆向代理向应用程序提供用户访问应用程序的权限 这意味着应用程序只能从同一专用网络上的(如我们的Web)访问。 为了测试应用程序,打开另一终端会话并连接到您的Web。 由于Web位于同一专用网络上,因此应该能够使用curl来访问应用的私有IP地址。 本教程将从头开始设置一Nginx。 如果您已经有Nginx设置,您可以将位置块复制到您选择的块中(确保该位置与您的任何Web的现有内容不冲突)。 您可以将附加的位置块添加到同一块,以提供对同一Web上的其他应用程序的访问。

    36100

    node运行 HTTP

    1.安装 PM2npm install pm2 --global2.PM2 来启动 HTTP pm2 start app.js3.查看输出的日志pm2 logs4.重启pm2 restart 4应用程序实例 # 它将负载平衡每应用程序的网络查询pm2 reload all # 零秒停机重启pm2 scale 10 # 规模集群应用到10进程 # 进程监控pm2 list # 列出PM2 script.sh # 启动bash脚本pm2 start app.json # 启动在app.json中声明的所有应用程序pm2 reset # 重置所有计数pm2 stop all # 停止所有应用程序 # 生成一示例json配置文件 # 部署pm2 deploy app.json prod setup # 设置“prod”远程pm2 deploy app.json prod # 更新“prod ”远程pm2 deploy app.json prod revert 2 # 将“prod”远程恢复为2 # 模块系统pm2 module:generate # 生成名为的示例模块pm2

    34930

    pm2快速部署Django项目

    以前写过一篇 部署django全攻略, 后来被人吐槽, 整流程手动部署下来 需要花20分钟, 如果能像python manage runserver一行命令启动就好了Django项目的开发阶段, 可以使用 python manage runserver启动Django内置的web, 但Django内置的web很容易挂到,所以我们需要给它加一守护进程解决之道:pm2是一进程管理工具, 它可以为你的脚本创建守护进程 内置的web, 由于pm2可以守护脚本的执行, 当Django内置的web挂掉的时候, 会自动重启, 通过这种方式, django的测试项目就可以在线上稳定的运行了 ? pm2可以守护执行种语言的脚本 ? pm2可以执行种语言的脚本, pm2可以根据脚本的扩展名, 使用相应的解释来执行脚本, 当然你也可以手动指定解释的位置, 只需加一--interpreter的参数即可(参考上图)小结: 用pm2

    88210

    生产级部署 Python 脚本,崩溃了怎么办?

    PM2 发展到今天,已经 5 年了,在 Github 上有超过 6500w 次下载,已经成为在生产中运行 Node.js 的首选方式之一。但是它也支持 Python。 从进程列表中停止和删除某程序$ pm2 delete hello复制代码更的命令,可以直接查看官方文档。 重启时,依然保持运行使用 PM2 启动 Python 程序之后,PM2 只能保证启动的这 Python 程序发生意外崩溃的时候,对他进行重启。 如果你希望在重启的时候,依然保持应用程序在线,则需要设置 init 脚本,用以告诉系统启动 PM2 以及你的应用程序。想让 PM2 跟随系统启动,只需要运行此命令。 PM2 还有很强大的功能,比如说利用 SSH 轻松部署到、负载均衡等等都是一些不错的功能,有兴趣可以查阅文档。PM2 文档很健全,大部分问题都可以在文档中找到答案。

    8010

    如何在Ubuntu 18.04上配置Node.js生产环境应用

    介绍Node.js是一开源JavaScript运行环境,用于构建端和网络应用程序。该平台可在Linux,macOS,FreeBSD和Windows上运行。 在本教程中,您将在单Ubuntu 18.04上设置生产就绪的Node.js环境。该将运行由PM2管理的Node.js应用程序,并通过Nginx反向代理为用户提供对应用程序的安全访问。 准备本教程需要您具有以下内容:Ubuntu 18.04设置。您应该拥有一具有sudo权限和防火墙开着的非root用户。一域名指向你的公网IP。 此子命令生成并配置启动脚本,以在启动时启动PM2及其托管进程:$ pm2 startup systemd结果输出的最后一行将包含一以超级用户权限运行的命令,以便将PM2设置为在引导时启动: Init 您可以将一其他location块添加到同一块,以提供对同一上其他应用程序的访问。

    71930

    在生产环境运行 PM2 & Node.js

    所有这些意味着 PM2 能帮助你保持 Node.js 应用永远运行下去,并在你更新应用或时以 0 故障停机时间自动重启。安装 PM2安装 PM2 就是小菜一碟。 如果使用了一 Docker 容(对,也支持 Docker),按照 https:pm2.keymetrics.iodocsusagedocker-pm2-nodejs 中的说明安装。 不管你运行了应用,PM2 的一套命令都能让你管理它们各自的状态。 如果发现你的实例经常被日志填满,也可以考虑使用一集中式日志,如 Loggly、Papertrail,或 ELK。 如果你已经阅读过其声明,应该见到了这 12 条规则:一置于版本控制下的代码库, 份部署明确地声明,并隔离依赖在环境而非代码中存储配置将后端视为附加资源严格区分构建和运行阶段以一无状态进程运行应用通过端口绑定输出通过进程模型扩展通过快速启动和优雅地关闭保证最大的健壮性尽可能保持开发和线上环境尽量一致把日志视为事件流以一次性进程的形式运行后台管理任如果遵守了以上规则

    50710

    Web前端学习笔记之离线安装npm

    平常在上借助apt-get就能轻松搞定的事情,在离线环境下就变得异常艰难。上一篇文章讲了使用snap离线安装软件的方式,但对于npm包怎么离线部署,snap是无能为力的。 接下来的部分,我将以离线安装pm2为例来进行说明。pm2是一进程守护程序,用于启动node集群和进程出错时自动重启,在生产环境下部署nodejs应用一般都会使用到。 0x01 使用 npm link使用 npm link 的方式是最常用的方法,具体做法是在联网机上下载pm2的源码并安装好依赖,拷贝到离线上,最后借助 npm link 将pm2链接到全局区域。 pm2文件夹拷贝到目标上,进入pm2目录链接到全局区域:$ cd pm2$ npm link这种方式最关键的是借助 npm link 完成链接,但 npm link 这条命令本意是设计给开发人员调试用的 然后,将pm2文件拷贝到目标机上,使用以下命令安装:$ npm install pm2 -g这种方式不需要安装余的 devDependencies ,并且不需要克隆pm2的源码,比第一种方法更干净环保

    1.2K40

    Node应用的进程管理: PM2详细介绍

    本文不涉及的前端知识,是NodeJs端的知识点,有兴趣的可以了解一波。这里的PM2,不是PM2.5,跟空气没有半毛钱的关系。 它是NodeJs应用的进程管理,可以利用它来简化很Node应用管理的繁琐任,如性能监控、自动重启、负载均衡等。 模块,允许和PM2进程管理交互 )好像很牛x的样子啊? 因此在这种模式下,一线程只能处理一,要想提高吞吐量必须通过线程。 我总结了两比较简洁的答案:1、pm2可以把你的应用部署到所有的CPU上($ pm2 start app.js -i max),有效的解决了上述提出的问题。

    93120

    玩转---运行环境搭建

    人的项目可能运行在不一样的环境,所以在这里我不准备一一介绍,我在这里以我的环境作为示例,我的人博客后端采用Node.js + MongoDB,所以环境搭建:Node.js + pm2 + MongoDB 搭建完环境我们如何进行管理呢,总不能在云耶搭建一开发环境进行项目启动吧? 代码上传到以后,就是启动了,了解过Node.js的同学都知道,Node.js中通过node xxx.js启动,如果直接通过node app来启动,如果报错了可能直接停止整进程运行,所以, PM2是node进程管理工具,可以利用它来简化很node应用管理的繁琐任,如性能监控、自动重启、负载均衡等,而且使用非常简单。我们可以下载xshell进行进程的监控。 ? 许前端工具如Webpack都是用Node.js编写的。我们在需要一node进程管理工具,pm2是一非常棒的工具。

    1.2K20

    centerOS部署nginx+node+pm2

    一、环境部署1.node(1)安装nodewget http:nodejs.orgdistv9.9.0node-v9.9.0-linux-x64.tar.gz #下载tar xvzf node-v9.9.0 没有域名可填写ip root rootprojectsVUE-SSR-TECH; #项目favicon.ico所在文件夹 location { proxy_set_header X-Real-IP 很时候我们查看pm2 list发现项目启动运行了,ps -ef | grep  nginx发现nginx也启动了,但就是找不到网关,很大原因就是这端口设置和启动方式不匹配的原因(花了很久才发现问题所在 sudo ln -s rootprojectsVUE-SSR-TECHtodo.conf etcnginxconf.d #重新添加nginx启动软链接lsof -i tcp:80 #查看域名(端口默认 80)所在进程kill 12344 #杀死nginx的进程sudo usrsbinnginx #启动nginx(service nginx start)五、nginx部署node站点示例server

    1.4K40

    相关产品

    • 云服务器

      云服务器

      腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券