赞
踩
本文记录了我搭建个人博客的详细教程,从 本地 到 龟速在线访问的Github 再到 个人云服务器上的部署。一番折腾,终于成功。(然而。。。如今已经放弃自建博客了)
Node.js官网:https://nodejs.org/en/download/ 下载对应的版本安装即可。
检查Node.js环境是否安装成功
打开cmd
或者powershell
,输入:
$ node -v
$ npm -v
显示版本号
Git官网:https://git-scm.com/downloads
检查Git是否安装成功
鼠标桌面右击选择 Git bash here
或者自行找到 Git bash
程序打开,输入:
$ git --version
显示版本号
在自己心仪的文件夹下,如E:/hexo,鼠标右击选择 Git bash here
,依次执行以下命令:
$ npm install hexo-cli -g
$ npm install hexo --save
如图所示,我之前已经安装好,所以这里是updated
。
图中红框的警告原因:fsevents是苹果系统的可选依赖,windows用户可忽略此类警告
安装后检查,输入:
hexo -v
先将hexo
文件夹下的文件删除(清空hexo文件夹),不然后面会报以下错误:
输入命令:
$ hexo init
$ npm install
生成 Hexo 页面
$ hexo generate
$ hexo g # 上面的简写方式
启功 Hexo 服务
$ hexo server
$ hexo s # 上面的简写方式
启动后效果如下(打开网页,输入网址 http://localhost:4000/ )
恭喜你,成功在本地部署了 Hexo!!!
username.github.io
,仓库设置为public
公开设置信息:可以看到可以通过 https://username.github.io
进行访问了
推送代码至 Github:Github 推送代码目前已经不支持账号密码方式,所以需要开启 ssh
密钥直接推送。
$ git config --global user.name "XXXX" # 配置个人信息-username
$ git config --global user.email "XXXXXXXXX@XXX.com" # 配置个人信息-useremail
$ ssh-keygen -t rsa -C "XXXXXXXXX@XXX.com" # 生成密钥
给 git 用户添加 ssh 秘钥 (找到本地的 ssh 公钥,以 .pub
结尾,我的是C:\Users\用户名\.ssh\id_rsa.pub
)并整个复制。然后再在 Github 中添加id_rsa.pub
文件中的内容。
打开 hexo 的配置文件 _config.yml
修改 deploy
位置的配置
注意:目前 Github 的分支已经不是 master
了,而是 main
deploy:
type: git
repo: github: git@github.com:XXXXXXX/XXXXXXXX.github.io.git # 仓库地址
branch: main # 分支!!!!!!!!!!是 main
Hexo三连:
$ hexo cl && hexo g && hexo d
此时就可以通过https://username.github.io
进行访问你的博客了
为了解决 hexo 部署到 GitHub 访问速度慢的问题,我们可以将 hexo 部署到云服务器上
Centos
系统)nginx
了) 进入宝塔面板的下载页面 宝塔面板下载:https://www.bt.cn/new/download.html ,找到 Linux 面板,点击安装 Centos 脚本
Centos 安装脚本
代码,回车,一路确认。浏览器访问上面的 外网面板地址 ,使用宝塔提供的用户名和密码
进入面板后,点击一键安装 LNMP
。就能直接将 Nginx
,MySQL
等网站所需内容一键安装好。
输入以下命令:
$ yum install git # 安装 git (远程服务器上)
$ adduser git # 配置 git 用户
$ chmod 740 /etc/sudoers # 赋予用户权限
$ vi /etc/sudoers # 编辑 sudoers 文件
输入 i
进入 insert 模式 ,找到 root ALL=(ALL) ALL
,在其下方加入一行 git ALL=(ALL) ALL
,按下 ESC
,输入 wq
,保存文件。
root ALL=(ALL) ALL
// 在这里加入代码
git ALL=(ALL) ALL
继续输入以下命令:
$ chmod 400 /etc/sudoers # sudoers 文件权限修改回来
$ sudo passwd git # 设置 git 用户的密码
给 git 用户添加 ssh 秘钥 (找到本地的 ssh 公钥,部署 hexo 到 GitHub 时有生成,以 .pub
结尾,我的是C:\Users\用户名\.ssh\id_rsa.pub
)
$ su - git
$ mkdir -p ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ vim ~/.ssh/authorized_keys # 将ssh密钥粘贴进去
Git 连接测试
$ ssh -v git@你的 server_ip 地址 # 输入密码即可成功登录云服务器
创建一个 Git 仓库,新建一个 post-receive
文件,用来存储本地的提交。
$ su root
$ cd /home/git
$ mkdir /home/hexo # 作为网站根目录
$ chown git:git -R /home/hexo # 给予git用户权限
$ git init --bare blog.git # 在/home/git下创建新仓库blog.git
$ chown git:git -R blog.git # 给予git用户权限
在 blog.git/hooks 文件夹下创建一个 post-receive 钩子,把提交到 git 仓库的文件同步到 home/hexo文件夹中
$ cd blog.git/hooks
$ vim post-receive
文件中输入 i
进入 insert 模式, 输入以下内容后,按下 ESC
,输入 wq
,保存文件。
#!/bin/bash
git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f
授予 post-receive
文件可执行权限,至此服务端已经配置完成。
$ chmod +x /home/git/blog.git/hooks/post-receive
检查文件及内容
宝塔配置(直接上图)
ssl证书:可自行去腾讯云里面搜索ssl证书,然后申请,一般为免费一年的,证书下载后将对应文件内容复制到图中位置即可
打开 hexo 的配置文件 _config.yml
修改 deploy
位置的配置
deploy:
type: git
repo: root@你的 server_ip 地址:/home/git/blog.git # 仓库地址
branch: master # 分支
如果是多部署,由于 Github 和云上的 Git 的分支不同,可以这样写:
deploy:
type: git
repo:
github: git@github.com:XXXXXXX/XXXXXXX.github.io.git,main
my_server: root@你的 server_ip 地址:/home/git/blog.git,master
Hexo三连:
$ hexo cl && hexo g && hexo d
通过网页浏览器 server_ip:80
来访问。若登录 server_ip:80
出现以下错误:
没有找到站点
您的请求在Web服务器中没有找到对应的站点!
可能原因:
1. 您没有将此域名或IP绑定到对应站点!
2. 配置文件未生效!
如何解决:
1. 检查是否已经绑定到对应站点,若确认已绑定,请尝试重载Web服务;
2. 检查端口是否正确;
3. 若您使用了CDN产品,请尝试清除CDN缓存;
4. 普通网站访客,请联系网站管理员;
解决途径:将server_ip
添加到站点的域名管理即可,具体操作如下图。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。