• 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: 资深大猪蹄子
  • 相关阅读:
    java事件处理机制(自定义事件)
    EL表达式 (详解)
    Java编程思想(四) —— 复用类
    优秀辅助网站使用记录
    快速部署tomcat项目的Shell脚本
    数据库SQL优化大总结
    常用排序算法及应用背景
    Java面试通关秘籍汇总集
    Java堆、栈和常量池以及相关String详解
    常用加密算法概述
  • 原文地址:https://www.cnblogs.com/young233/p/14628456.html
Copyright © 2020-2023  润新知