pm2server端线上管理

                                                                         pm2server端线上管理

pm2是用于管理线上服务器端的一套管理系统,在线上的服务器管理中,其主要有以下的价值:

1.当服务器崩溃时,要进行进程的守护,即系统自动重启
2.启动多进程,充分的利用cpu和内存
3.自带日志的记录功能

基于这些处理,就通过一个实际例子来了解有关于pm2的使用及其配置。首先处理的第一个问题就是对于pm2的安装,这儿使用的是npm下载。具体的方式如下:

1.使用npm insatll pm2 -g进行全局的安装
2.使用pm2 -v来检查pm2的版本信息

接下来就是对于pm2的测试,首先安装好cross-env nodemon,nodemon用于检测开发环境的,对于开发环境的命令配置如下:
"dev" : "cross-env NODE_ENV=dev nodemon index.js"
线上环境配置pm2是的检测命令如下:
"prd": "cross-env NODE_ENV=production pm2 start index.js"

接下来就是测试文件的内容写入,具体的代码如下:

当配置好这些内容之后就启动这个目录,首先来测试开发环境,使用npm run dev然后再去访问localhost:8000这个地址,就会在页面出现erron: 0,msd: 'pm2 test server 4s'。测试完开发环境,就来测试线上的环境配置,使用的指令为npm run prd,接着在浏览器中访问同样的地址,也会出现相应的内容。

当做好上面这一环节之后就来了解下常用的pm2的指令,指令如下:

 pm2 start.../ pm2 list 显示目录
pm2 restart <AppName>/<id>
pm2 stop <AppName>/<id>, pm2 delete <AppName>/<id>
pm2 info <AppName>/<id> 获取关于当前进程中的信息,包含path  version restart 
error log path  等信息
pm2 log <AppName>/<id> 获取线上日志信息
pm2 monit <AppName>/<id> 根据线上环境的信息进行调试

上面所写的指令就是pm2常用的指令,那么对于<AppName>/<id>又是什么呢,那就直接看截图吧,首先在控制台输入pm2就会出现下面的内容,这里面本来应该只有一个进程的,由于我配置了进程,所以显示的是四个进程,在这里只需要关注的是我画红线的部分,这个就是<AppName>/<id>,这对应着一个唯一的进程管理。相当于id,具体的其他指令当你配置好上面说的内容后自己可以去尝试

pm2进程守护:
当进程中访问出问题时,再去访问之前的网页,不会报错,这个就是进程守护的作用,pm2有重启进程的作用重启的次数是不定的。

pm2配置:直接通过当前的配置文件来进行解释,配置文件中的内容如下:

在上面的代码中,name为pm2 list 中的AppName因此在这里自己随意定义即可。script中的文件为入口文件
watch表示的意思为,是否要进行自动检测true表示是,false表示否。
ignore_watch表示意思为忽略检测的文件,在这个例子中logs以及node_moudule不需要去自动检测
instances表示进程的数量是多少,
error_file 表示错误输出放在那个文件 
 out_file表示out_file需要输出在哪个文件
log_date_format: YYYY-MM-DD HH:mm:ss 表示输出打印该文件的时间是什么

pm2日志文件管理:

当更改了上面的配置之后,还有一个地方需要去注意的。就是需要对配置指令的文件,更改之后所要找寻的路径就是当前的配置文件。此外我们还需要去创建一个logs目录,里面存放err.log和out.log这两个文件。具体的对于指令的更改请看下图:

此后再去运行pm2 info pm2-test,你就会看到下面的这个文件,红圈所划的地方就是error和out日志所存放的文件,当你去访问之前的地址后,再去打开之前创建的日志文件你就会发现里面存有记录

使用多进程的目的
1.操作体统限制一个进程的内存
2.内存无法充分利用机器全部内存
3.无法利用cpu多核的优势

多进程之间无法进行资源的共享,因此需要将所有进程都去访问同一个redis,实现数据共享。

说了这么多最应该理解的部分就是为什么要使用pm2来管理线上server端,即也就是pm2的核心价值

1.服务器的稳定性
2.充分利用服务器的硬件资源
3.线上日志记录

对于pm2如何配置在网上查询即可清楚明白,所以在这里最主要的就是需要去记住pm2的核心价值。以上就是关于pm2的所有内容。

猜你喜欢

转载自blog.csdn.net/care_yourself/article/details/101050202
今日推荐