本地初始化Hexo并启动Hexo项目
初次创建Hero博客,本地开发Blog
准备工作
安装Git,并操作Git
这个步骤在这里我就省略了,以后的操作,我就直接本地进行操作
关于Git安装步骤
可以去百度搜索下相关文章学习,另外推荐一款Git可视化面板工具:SourceTree
接下来的操作,会默认会简单的命令行操作,同时也下载好了vscode
、npm命令
安装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 | 1 进入/usr/local文件夹 |
Linux安装Hexo脚手架
- 创建文件夹
在
/home
路径下创建一个blog
的文件夹1
2
3
4
5
6进入home文件夹
cd /home
在home文件夹中创建一个blog文件夹
mkdir blog
进入blog文件夹
cd /home/blog - 安装hexo脚手架
在
/home/blog
路径下执行下面的命令1
npm install hexo-cli -g
- 安装hexo服务
1
npm install hexo-server --save
- 查看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
3which node
vim ~/.bashrc
按 i 编辑后,按 ecs 退出,:wq
保存
编辑配置如下:1
2
3export NODE_HOME=/usr/local/node/node-v18.14.2-linux-x64/bin
export PATH=$PATH:$NODE_HOME
退出后加载更新后的配置1
source ~/.bashrc
上面命令关闭窗口会自动断开服务,想持久化,就得借助第三方管理工具:pm2
- 服务器上需要安装
pm2
pm2是一个管理nodejs process的工具,它可以让我们用简单的指令启动nodejs进程(多为web前端)并管理之
1
npm install -g pm2
- 在项目根目录
/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}');
}) - 在根目录
/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端口,所对应的PID
是2326478
杀死PID为232647
的服务
注意:PID是随机的,每启动一次服务,就会自动生成一个随机PID,所有每次都需要查看下Hexo服务的端口的占用情况
1 | kill -9 232647 |
配置Nginx
如果不想用ip+端口访问,想用域名访问,就得自己linux上配置Nginx
域名平台解析一下域名到服务器,这里用的都是博主自己的域名和服务器ip,需要改成你们自己的域名和ip
配置nginx
,配置服务器上的nginx.conf
配置
1 | server{ |
相关资料
Nginx安装及部署:Nginx在Linux下载安装及部署
Nginx各种配置:关于Nginx的代理及各种配置