hexo的安装以及配置

    xiaoxiao2023-11-12  146

    一、前言

    使用markdown写东西比较多,所以决定弃掉之前自己用java写的一个blog网站,改用hexo。

    二、开始

    1、安装git以及node

    # 安装git yum install git # 安装node cd /usr/local/download # node下载安装包 wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz # 解压xz文件 xz -d node-v10.15.3-linux-x64.tar.xz # 解压tar文件 tar xvf node-v10.13.0-linux-x64.tar.xz tar -xf node-v10.15.3-linux-x64.tar # mv mv node-v10.15.3-linux-x64 ../node # 建立软连接,可以全局使用node、npm命令 ln -s /usr/local/node/bin/node /usr/bin/node ln -s /usr/local/node/bin/npm /usr/bin/npm # 卸载npm npm uninstall npm -g yum remove nodejs npm -y

    2、安装hexo

    hexo官网:https://hexo.io/zh-cn/docs/

    # 安装 npm install -g hexo-cli # 建立软连接 ln -s /usr/local/node/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo # 建立hexo目录 hexo init <folder> cd <folder> npm install

    hexo常用命令

    # 生成静态文件 hexo g # 启动服务器,默认端口4000 # -p 重设端口 hexo s # 清除缓存文件 (db.json) 和已生成的静态文件 (public) hexo clean

    3、安装hexo-admin

    hexo-admin官网:https://jaredforsyth.com/hexo-admin/

    # 在安装hexo目录的位置安装 npm install --save hexo-admin

    经过以上步骤执行hexo s后,访问4000端口就可以看到hexo网站了,这里我们首先配置一下hexo-admin, 访问http://localhost:4000/admin/,进入setting菜单,点击 Setup authentification here 可以设置admin的账号密码,然后将对应的信息复制到_config.yml文件中,如下

    # hexo-admin authentification admin: username: username password_hash: $2a$10$L.XAIqIWgTc5S1zpvV3MEu7/rH34p4Is/nq824smv8EZ3lIPCp1su secret: my super secret phrase deployCommand: './hexo-generate.sh'

    接下来我们配置一个脚本,可以让我们在发布一篇新的文章之后利用hexo-admin手动生成静态文件

    # 创建脚本 touch hexo-generate.sh; vim hexo-generate.sh; # 脚本内容 #!/usr/bin/env sh hexo g # 执行权限 chmod +x hexo-generate.sh

    现在,我们就可以使用hexo-admin在线进行文章的发布了。

    4、安装pm2

    pm2可以用来管理node应用,接下来安装pm2来对hexo进行管理。

    安装pm2 npm install -g pm2 建立软连接 ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2

    在刚刚的hexo目录下创建run.js脚本文件,内容如下

    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 stop all # 停止 id为 0的指定应用程序 pm2 stop 0 # 重启所有应用 pm2 restart all

    5、更换主题

    可参考 https://github.com/guoxwOvO/hexo-theme-rabb

    下面是我更换主题时遇到的一些问题:(centos7)

    1、报没有权限

    gyp ERR! stack Error: EACCES: permission denied, mkdir ‘/usr/local/hexo/node_modules/node-sass/.node-gyp’

    sudo npm install hexo-renderer-scss --save`

    2、报 /usr/bin/env: node: No such file or directory 则需将node以及npm的可执行文件链接到/usr/bin下

    ln -s /usr/local/node/bin/node /usr/bin/node ln -s /usr/local/node/bin/npm /usr/bin/npm
    最新回复(0)