【VUE项目实战】68、使用pm2管理项目
接上篇《67、上线-开启gzip和配置HTTPS服务》
上一篇我们学习了如何开启gzip配置来减少文件访问体积,并配置HTTPS服务。本篇我们讲解一下如何使用pm2管理项目。
本篇是该系列的最后一篇,感谢各位小伙伴坚持到最后,祝各位技术越来越牛逼(#^.^#)。
一、前言
我们打开之前打包部署的前端项目,找到启动文件app.js,其中我们创建了一个运行在8080端口的服务:
//导入express
const express = require('express')
// 导入compression压缩插件包
const compression = require('compression');
//创建web服务器
const app = express()// 启动compression压缩插件中间件
app.use(compression())
//在这里调用express.static()方法, 快速对外提供静态资源
//如果要对外提供多个静态资源目录,重复写更换文件目录即可
app.use(express.static('./dist'))//启动web服务器
app.listen(8088,(req,res)=>{console.log('express server running at 127.0.0.1:8088')})
我们运行该项目的时候,是需要通过命令窗口进入项目app.js所在目录,然后使用“node .\app.js”去启动它,才能在浏览器中访问我们的系统:
如果此时我们关闭这个命令窗口时,服务就停掉了,我们也无法访问系统了。此时就存在一个问题,如果我在服务器中开启很多个这样的项目,就会出现很多个这种命令窗口,很不好管理而且容易误操作关闭。
那么我们现在急需要一种手段,在我们启动了web网站之后,关闭命令窗口,也能让系统正常保持运行状态。此时我们就需要借助pm2的管理工具来完成。
二、什么是pm2?
1、pm2简介
pm2是可以用于生产环境的Nodejs的进程管理工具,并可以查看node进程的状态,同时支持性能监控,进程守护,负载均衡等功能,并且使用起来非常简单。同类工具还有Supervisor、Forever等。
总而言之,pm2最好的用处就是可以保证服务不会中断一直在线,并且可以监控我们的生产环境下的node程序运行状态。
2、pm2主要特性
●内建负载均衡(使用node cluster集群模块,可以使用服务器上的所有cpu)
●后台运行(node app.js 这种命令是直接在前台运行的,不稳定,很容易断)
●0秒停机重载(上线升级的时候不需要停机)
●停止不稳定的进程(避免无限循环)
●控制台检测
三、如何安装和使用pm2
首先我们需要在服务器安装pm2,使用"npm i pm2 -g"指令全局安装:
当程序安装完毕之后,使用“pm2 start .\app.js --name web_vueshop”启动项目:
该指令的格式是“pm2 start <script_file|config_file> [options]”,含义是启动指定应用的意思。其中“<script_file|config_file>”是脚本或者配置文件的名称,“[options]”是设置的参数,这里的“--name web_vueshop”就是为脚本服务自定义一个服务名称“web_vueshop”。
我们运行该指令后,可以看到最后打印了一个表格:
该表格显示我们当前服务器上运行了一个项目,名称为“web_vueshop”,模式是“fork”,状态是在线,还显示cpu占用率以及内存的占用率。
此时我们把命令窗口关闭,发现依然可以访问我们的项目:
这就是pm2将项目作为后台服务托管的好处。
然后运行“pm2 ls”指令(“pm2 list”命令的简写),可以查看目前pm2托管运行的所有进程情况:
可以看到我们名为“web_vueshop”的服务正在运行着。
我们还可以通过“pm2 stop 服务名”来停止项目后台服务的运行:
可以看到服务已经停止了:
我们还可以通过“pm2 restart 服务名”来进行项目的重启(这里最后跟上我们前面自定义的服务名即可):
可以看到服务又可以访问了:
我们还可以通过“pm2 delete 服务名”来删除项目后台服务:
删除后通过“pm2 ls”查看服务列表,可以看到服务已经不存在了,此时访问系统也是不可用状态。
至此,我们的pm2的使用也讲解完毕,全系列已结束,完结撒花✿✿ヽ(°▽°)ノ✿!
再次感谢各位的支持!请关注后续我的新系列博文~
参考:黑马程序员(www.itheima.com)Vue项目实战教学视频
转载请注明出处:https://blog.csdn.net/acmman/article/details/127335393
【VUE项目实战】68、使用pm2管理项目相关推荐
- Vue + Element-UI —— 项目实战(零)(项目概述)
Vue + ElementUI 后台管理项目实战 内容 参考链接 一 Vue + Element-UI -- 项目实战(零)(项目概述[附源码]) 二 Vue + Element-UI -- 项目实战 ...
- Spring Boot + vue-element 开发个人博客项目实战教程(一、项目介绍和规划)
⭐ 作者简介:码上言 ⭐ 代表教程:Spring Boot + vue-element 开发个人博客项目实战教程 ⭐专栏内容:零基础学Java.个人博客系统 ⭐我的文档网站:http://xyhwh- ...
- 【PBL项目实战】户外智慧农场项目实战系列之4——Mind+Mixly双平台ESP32数据上云及云端可视化实时展示
[PBL项目实战]户外智慧农场项目实战系列之4--Mind+Mixly双平台ESP32数据上云及云端可视化实时展示 原文链接 https://mp.weixin.qq.com/s/r_NeJdPoi ...
- 【PBL项目实战】户外智慧农场项目实战系列——7.Mind+Mixly双平台工业级多合一空气质量传感器数据上云及云端可视化展示
[PBL项目实战]户外智慧农场项目实战系列--7.Mind+Mixly双平台工业级多合一空气质量传感器数据上云及云端可视化展示 原文链接 https://mp.weixin.qq.com/s/ZEU ...
- 【PBL项目实战】户外智慧农场项目实战系列——5.天气预报API接口对接
[PBL项目实战]户外智慧农场项目实战系列--5.天气预报API接口对接 原文链接 https://mp.weixin.qq.com/s/jditkIEd-UK6cSQyCC_-Eg 本系列以户外智 ...
- 【PBL项目实战】户外智慧农场项目实战系列——1.阿里云物联网平台的开通与云端可视化应用的新建
岭师人工智能素养教育共同体PBL项目教程系列之1:户外智慧农场项目实战系列 原文链接 https://mp.weixin.qq.com/s/avKWJHNvnPeFsdEXUBByjw 本系列以户外 ...
- 【PBL项目实战】户外智慧农场项目实战系列——2.产品与设备的新建及与云端可视化应用的关联
[PBL项目实战]户外智慧农场项目实战系列--2.产品与设备的新建及与云端可视化应用的关联 原文链接 https://mp.weixin.qq.com/s/mH4bRSf93QC4Jhhd5ci2m ...
- Pytorch项目实战聊天机器人(02.项目的准备阶段)
Pytorch项目实战聊天机器人(02.项目的准备阶段) 02.项目的准备阶段 二.2-2 NLP涉及知识 三.2-3 NLTK库 四 ,2-4 语料和词性标注 五 ,2-5 分词 六 , 2-6 T ...
- 【PBL项目实战】户外智慧农场项目实战系列——3.云端可视化页面开发及设备数据源的配置与调试
[PBL项目实战]户外智慧农场项目实战系列--3.云端可视化页面开发及设备数据源的配置与调试 原文链接 https://mp.weixin.qq.com/s/5OT57-_QlN7lwRMWvey4 ...
最新文章
- java 为什么有匿名类_全面了解Java中的内部类和匿名类
- Coursera课程Python for everyone:Quiz: Object Oriented Programming
- TO B 产品经理:如何推动产品商业化?
- OpenCV文件输入输出的序列化功能的实例(附完整代码)
- C语言中编译、生成、调试、运行的区别
- 这种个性化可视化图也太可爱了吧!
- cad.net 获取所有已经安装的cad版本信息
- NOIP2015普及组第1题 45 金币 方法三(python3实现)
- sqlsever 导入大数据sql文件
- 31个用来测试你网站各项性能的免费在线工具
- [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP
- python数据分析实例_Python数据分析及可视化实例之爬虫源码(05)
- MSBuild 命令参数
- python获取百度迁徙大数据
- xshell绿色版下载-连接远程服务器-unzip使用
- Modelica学习笔记
- 负二项分布(一种离散分布)
- IMPLEMENT_DYNAMIC
- 【前端】HTML标签(下)
- java Optional操作
热门文章
- 下拉菜单Spinner用法
- 学习日记day16 ps
- 文件夹别名路径 请求图片时报错
- ERROR 1366 (HY000): Incorrect string value: ‘\xE8\xB5\xB5 \xE9\x9B...‘ for column ‘s_name‘ at row 1
- 期货交易品种基本面分析(期货品种技术面分析)
- 小程序开发华为P20、voiv下Echarts图表不显示数据、坐标轴等问题
- 如果你的爆款产品还没有……可能即将被KO
- 善于记录,善于总结——《走出软件作坊》读后感
- 慕课网风袖小程序 一一第一阶段
- snes :fe4 rom hack for the graphic and animate #1