0%

Hexo 后台运行

前言

由于需要hexo-damin支持编写博客,所以需要将hexo服务进行一直开启,但是由于ssh有相关连接限制,又不想修改ssh配置文件,所以出此博客

内容

安装pm2模块

什么是pm2模块

PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。 下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和配置。

安装

输入指令
npm install -g pm2来进行安装

在博客根目录下创建run.js文件

在博客根目录下创建一个run.js的文件,并在里面输入如下内容:

1
2
3
4
5
6
7
8
9
10
//将hexo保持后台运行
const { exec } = require('child_process')
exec('hexo server',(error, stdout, stderr) => {
if(error){
console.log('exec error: ${error}')
return
}
console.log('stdout: ${stdout}');
console.log('stderr: ${stderr}');
})

之后在根目录下运行

输入:pm2 start run.js

其他

如何关停pm2

输入pm2 stop all来关停所有的pm2运行项目

pm2相关命令汇总

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
pm2 start app.js # 启动app.js应用程序
pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例
# 4个应用程序会自动进行负载均衡
pm2 start app.js --name="api" # 启动应用程序并命名为 "api"
pm2 start app.js --watch # 当文件变化时自动重启应用
pm2 start script.sh # 启动 bash 脚本

pm2 list # 列表 PM2 启动的所有的应用程序
pm2 monit # 显示每个应用程序的CPU和内存占用情况
pm2 show [app-name] # 显示应用程序的所有信息

pm2 logs # 显示所有应用程序的日志
pm2 logs [app-name] # 显示指定应用程序的日志
pm2 flush

pm2 stop all # 停止所有的应用程序
pm2 stop 0 # 停止 id为 0的指定应用程序
pm2 restart all # 重启所有应用
pm2 reload all # 重启 cluster mode下的所有应用
pm2 gracefulReload all # Graceful reload all apps in cluster mode
pm2 delete all # 关闭并删除所有应用
pm2 delete 0 # 删除指定应用 id 0
pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
pm2 reset [app-name] # 重置重启数量

pm2 startup # 创建开机自启动命令
pm2 save # 保存当前应用列表
pm2 resurrect # 重新加载保存的应用列表
pm2 update # Save processes, kill PM2 and restore processes
pm2 generate # Generate a sample json configuration file
pm2 start app.js --node-args="--max-old-space-size=1024"

作者:冰冰大象
链接:https://www.jianshu.com/p/6b3b506f7d0a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
-------------我也是有底线的哦如需更多,欢迎打赏-------------