本地初始化Hexo并启动Hexo项目

初次创建Hero博客,本地开发Blog

准备工作

安装Git,并操作Git

这个步骤在这里我就省略了,以后的操作,我就直接本地进行操作

关于Git安装步骤可以去百度搜索下相关文章学习,另外推荐一款Git可视化面板工具:SourceTree
接下来的操作,会默认会简单的命令行操作,同时也下载好了vscodenpm命令

安装hexo脚手架

1
npm i -g hexo-cli

验证是否安装成功

1
hexo -v

创建并启动项目

初始化 Hexo 项目

打开CMD,cd到指定位置,再执行下面的命令,新建一个hexo项目,

1
hexo init hexo-blog-demo

进入到 hexo-blog-demo 项目文件夹,并且安装依赖

这一步可以直接通过vscode编辑器打开 hexo-blog-demo 这个项目,然后再安装依赖

1
npm install

初始化的hexo项目【hexo-blog-demo】结构

结构名称 描述
node_modules 项目依赖包(不可忽略),漂亮特效需要修改其中的内容
scaffolds 生成文章的一些模板
source 用来存放你的文章,普通页面
themes 主题,参考文档:https://hexo.io/zh-cn/docs/themes
.npmignore 发布时忽略的文件(可忽略)
_config.landscape.yml 主题的配置文件
_config.yml Hexo博客的配置文件
package.json 项目名称、描述、版本、运行和开发等信息

启动hexo项目

Hexo 3.0把服务器独立成了个别模块,必须先安装hexo-server才能使用。

1
npm install hexo-server --save

然后在根目录下【hexo-blog-demo】,两种方式启动项目:

  • 默认端口:4000启动项目
    1
    hexo server
  • 指定端口 8080启动项目
    1
    hexo server -p 8080

效果展示

浏览器中打开,默认4000端口:http://localhost:4000/

注意事项

Hexo 会监视文件变动并自动更新,您无须重启服务器。但是修改配置文件,则需要重启服务器

静态模式

在静态模式下,服务器只处理 public 文件夹内的文件,而不会处理文件变动,
在执行时,您应该先自行执行 hexo generate,此模式通常用于生产环境(production mode)下。

1
hexo server -s

自定义 IP

服务器默认运行在 0.0.0.0,您可以覆盖默认的 IP 设置,如下:

1
hexo server -i 192.168.1.1

指定这个参数后,您就只能通过该IP才能访问站点。
例如,对于一台使用无线网络的笔记本电脑,除了指向本机的127.0.0.1外,通常还有一个192.168.xxx.xxx的局域网IP,如果像上面那样使用-i参数,就不能用127.0.0.1来访问站点了。
对于有公网IP的主机,如果您指定一个局域网IP作为-i参数的值,那么就无法通过公网来访问站点。

部署Hexo项目

博主是自己的服务器,所以部署到Linux上了

配置Linux环境

Linux安装Nodejs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 1 进入/usr/local文件夹
cd /usr/local

# 2.创建node文件夹
mkdir ndoe

# 3.进入/node文件夹
cd node

# 4.下载压缩包
wget https://nodejs.org/dist/v18.14.2/node-v18.14.2-linux-x64.tar.gz

# 5.解压
tar zxvf node-v18.14.2-linux-x64.tar.gz

# 6.删除压缩包
rm -rf node-v18.14.2-linux-x64.tar.gz

# 7.建立软连接
ln -s /usr/local/node/node-v18.14.2-linux-x64/bin/node /usr/local/bin
ln -s /usr/local/node/node-v18.14.2-linux-x64/bin/npm /usr/local/bin

# 8.安装成功,查看版本号
npm -v

Linux安装Hexo脚手架

  1. 创建文件夹

    /home路径下创建一个blog的文件夹

    1
    2
    3
    4
    5
    6
    # 进入home文件夹
    cd /home
    # 在home文件夹中创建一个blog文件夹
    mkdir blog
    # 进入blog文件夹
    cd /home/blog
  2. 安装hexo脚手架

    /home/blog路径下执行下面的命令

    1
    npm install hexo-cli -g
  3. 安装hexo服务
    1
    npm install hexo-server --save
  4. 查看hexo版本
    1
    hexo -v

部署方式(一)

部署

直接迁移项目到/home/blog文件夹下

简单点讲,就是把本地编写的整个项目/hexo-blog-demo,直接迁移到服务器上,包含node_modules等各种依赖文件
迁移完成后,进入到该路径/home/blog/hexo-blog-demo


1
cd /home/blog/hexo-blog-demo

启动项目,这篇文章最初的命令,博主服务器上开放使用的是8000端口
注意:云服务器平台记得要把使用的端口打开


1
hexo s -p 8000

如果出现-bash: hexo: 未找到命令,检查一下node环境变量是否已经配了

1
echo $PATH

如果没有配置,就执行下面的编辑命令
1
2
3
which node

vim ~/.bashrc

i 编辑后,按 ecs 退出,:wq 保存
编辑配置如下:
1
2
3
export NODE_HOME=/usr/local/node/node-v18.14.2-linux-x64/bin

export PATH=$PATH:$NODE_HOME

退出后加载更新后的配置
1
source ~/.bashrc


上面命令关闭窗口会自动断开服务,想持久化,就得借助第三方管理工具:pm2

  1. 服务器上需要安装pm2

    pm2是一个管理nodejs process的工具,它可以让我们用简单的指令启动nodejs进程(多为web前端)并管理之

    1
    npm install -g pm2
  2. 在项目根目录/home/blog/hexo-blog-demo创建一个hexo_run.js
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //JavaScript
    const { exec } = require('child_process')
    exec('hexo server -p 8000',(error, stdout, stderr) => {
    if(error){
    console.log('exec error: ${error}')
    return
    }
    console.log('stdout: ${stdout}');
    console.log('stderr: ${stderr}');
    })
  3. 在根目录/home/blog/hexo-blog-demo下执行下面的命令启动服务
    1
    pm2 start hexo_run.js

测试效果

本地浏览器,直接访问:http://xxxxx:8000
注:xxxx改成自己服务器的ip地址

关闭Hexo服务

查看8000端口占用情况,博主部署用的是8000端口,可以根据自己部署的端口操作

1
lsof -i :8000

关闭服务

通过端口占用情况,查到hexo服务占用的8000端口,所对应的PID2326478
杀死PID为232647的服务
注意:PID是随机的,每启动一次服务,就会自动生成一个随机PID,所有每次都需要查看下Hexo服务的端口的占用情况


1
kill -9 232647

配置Nginx

如果不想用ip+端口访问,想用域名访问,就得自己linux上配置Nginx
域名平台解析一下域名到服务器,这里用的都是博主自己的域名和服务器ip,需要改成你们自己的域名和ip
配置nginx,配置服务器上的nginx.conf配置

1
2
3
4
5
6
7
server{
listen 80;
server_name blog.renyuxin.cn;
location / {
proxy_pass http://127.0.0.1:8000;
}
}

相关资料

Hexo 阿里云轻量服务器部署

SNightShadowの酒馆博主的解决方案


评论
avatar
学弟不想努力了
不拼,谁都不会知道输的是谁
关注我
最新评论
正在加载中...
网站资讯
文章数目 :
169
已运行时间 :
本站总字数 :
205.6k
本站访客数 :
本站总访问量 :
最后更新时间 :
访客地图
文章分类文章标签
随便逛逛阅读模式
全屏模式