hexo博客搭建
前几天心血来潮,决定搭建一个博客来做做笔记,对比了一些博客框架,最终选择了hexo。
优点
- 生成的是静态网页,对服务器性能要求低,可以部署到例如Github Pages等代码托管平台上,只需要花每个月十几块买一个能运行的服务器甚至不需要买服务器都可以正常的使用hexo,对于想建站却又不想花高额代价买服务器的学生来说很友好。
- seo优化好,对于蜘蛛来说,静态网站加载速度快,可在单位时间内抓取更多的内容。
- 不易被攻击,静态网页没有后台,黑客几乎无从下手,能让站长更专注于内容,而不是黑客攻防。
- 内容方便迁移,内容完全是md文档,可以随时备份到自己电脑上,安全性高。
- 好看的主题多,选择较多。(虽然没wordpress多)
- 基于nodejs,插件相较其他静态生成框架来说较多,实现功能较为容易。
缺点
静态博客不方便后期维护。
没有集成的评论系统,只能通过第三方插件实现评论,我个人使用的是isso。
没有浏览统计,也是通过第三方插件完成。
Github Pages国内速度不太行,但可用vercel来代替,国内速度不错。
如果你决定使用hexo作为你的博客框架,你可以继续往下看教程。
搭建教程
安装nodejs
在服务器中安装nodejs环境。我使用的环境是centos7
官网下载 nodejs
wget https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.xz
解压
xz -d node-v16.15.1-linux-x64.tar.xz
tar -zxvf node-v16.15.1-linux-x64.tar
进入文件夹
cd node-v16.15.1-linux-x64
可以看到bin文件夹
直接加入环境变量
nano /etc/profile
在最后一行加入
1
2PATH="$PATH:/root/node-v16.15.1-linux-x64/bin"
export PATH刷新一下
source /etc/profile
执行一下
node -v
输出了node版本即为配置完成
安装nginx
安装基础包
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载nginx包
wget http://nginx.org/download/nginx-1.23.0.tar.gz
解压
tar -zxvf nginx-1.23.0.tar.gz
切换到
cd nginx-1.23.0
1
2
3./configure
make
make install安装完成后就可以到/usr/local/nginx的安装目录
进入到conf目录可以看到nginx.conf里面为nginx基本配置
html文件夹下就是访问路径了
进到sbin文件夹内利用
./nginx
可以启动nginx服务器
访问http://ip/看到这个就说明配置完成
安装hexo-cli
进入html文件夹内删除默认文件
rm -rf *
执行
npm install hexo-cli -g
初始化hexo目录
hexo init FILENAME
,FILENAME为任意名称进入FILENAME
这时候的_config.yml可以根据hexo官网配置进行修改
安装next主题
在FILENAME文件夹下
1 | git clone https://github.com/next-theme/hexo-theme-next themes/next |
再将hexo配置文件中theme改为theme: next
。
同样在next主题目录下也有一个_config.yml,具体配置见hexo-theme-next。
修改conf里的nginx.conf,搜索root,root html
修改为root html/hexo/public
。
到sbin文件夹里执行./nginx -s reload
重载配置。
hexo命令
命令 | 效果 |
---|---|
hexo new <title> | 新建一篇以title为名的文章。 |
hexo generate / hexo g | 生成静态文件。此时会产生一个public文件夹。 |
hexo server | 启动hexo服务器,默认端口4000。 |
hexo deploy / hexo d | 部署网站。 |
这些是基础命令,更多可以看hexo命令。
访问测试
到FILENAME目录执行hexo g
看到public文件夹创建后,访问http://ip/可以看到
则已经部署好。