zoukankan      html  css  js  c++  java
  • hexo 长期后台运行

    前言

    对比wordpress这种重型博客系统,静态博客相对轻量。所以我也试着去搭了一个玩。

    此处我选定的是hexo这个博客系统,它是用nodejs写成的,可使用npm进行管理。

    故障

    在使用hexo s启动博客时,它只能挂在前台上。一旦退出terminal,它就无法使用了。

    这时我就使用了hexo s &这个命令,期待它可以跑在后台。但是也失败了。

    于是,我就想起了npm管理web的工具—pm2。

    pm2

    pm2是一个管理nodejs process的工具,它可以让我们用简单的指令启动nodejs进程(多为web前端)并管理之。
    详情可以参考pm2的官方文档,这里只是用到了start/stop/logs几个常用的命令。

    pm2官方文档

    使用步骤

    1. 首先,我们需要安装它。
    npm install -g pm2
    
    1. 进到博客的根目录,新建一个文件:hexo_run.js
    
    //run
    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}');
    })
    
    1. 启动这个进程服务
    pm2 start hexo_run.js
    

    就可以使得hexo常驻后台了。

    关于nodejs的模块管理

    如果对nodejs不熟的小伙伴,可能会发现pm2并没有全局安装。具体原因我也不太清楚,因为我们的确使用的是npm的全局安装,但事实可能完不成。

    这时我们需要做链接,将安装在nodejs的node_modules模块包中的pm2放到全局PATH路径下。

    这时,我们可以先找到npm的安装路径:

    npm config get prefix
    

    然后进入nodejs的bin目录下,将其链接到全局PATH路径(以我个人为例,我的路径是/usr/local/nodejs)

    cd /usr/local/nodejs/bin
    ln -s /usr/local/nodejs/bin/pm2 /usr/bin/pm2
    

    即可使得pm2全局化了。

    About me: 资深大猪蹄子
  • 相关阅读:
    Xilinx之软件平台 ISE与Vivado前世今生
    博客开园
    第一天:开始你的Jobeet项目
    MySQL之alter语句用法总结
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    MySQL中distinct和group by性能比较[转]
    GROUP BY,WHERE,HAVING之间的区别和用法
    split(),preg_split()与explode()函数分析与介
    解析posix与perl标准的正则表达式区别
    sql关键字的解释执行顺序
  • 原文地址:https://www.cnblogs.com/young233/p/14628456.html
Copyright © 2011-2022 走看看