基于hexo的个人博客搭建。
个人博客搭建
关键技术
- hexo
- hexo部署教程
操作步骤
1.安装nodejs
- 在本地电脑安装nodejs LTS版本。 下载地址
- 在本地电脑打开git
bash,分别输入
node -v
和npm -v
查看安装是否成功。
2. 安装hexo
- 安装npm淘宝源cnpm,
npm install -g cnpm --registry=https://registry.npmmirror.com
- 安装hexo,
cnpm install -g hexo-cli
。hexo -v
验证
3. 使用hexo
- 创建一个blog文件夹
- 进入blog文件夹,初始化hexo,
hexo init
- 启动博客,
hexo s
- 添加博客文章,
ctrl+c
断掉hexo,hexo n "文章名称"
创建一篇文章。也可以直接写好放到blog_posts目录下就行了。 - 生成网页文件,清理
hexo clean
,生成hexo g
4. 自定义主题
- 下载主题,
git clone git@github.com:litten/hexo-theme-yilia.git themes/yilia
- 切换主题,修改
_config.yml
。找到theme,将其修改为切换的主题名称 - 生成网页文件,清理
hexo clean
,生成hexo g
5. 部署到服务器
创建/data/hexo文件夹,修改/etc/nginx/sites-enabled/default 文件的root为/data/hexo。
git环境配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23# 创建git用户
adduser git
# 修改git用户权限
chmod 740 /etc/sudoers
vim /etc/sudoers
# 找到root ALL=(ALL)ALL,在下面添加git ALL=(ALL) ALL
chmod 400/etc/sudoers
#设置git用户密码
sudo passwd git
# 配置SSH免密登录
# 切换到 git 用户
su git
# 在根目录创建.ssh文件夹,存放公钥
# 服务端
# 切换到 git 用户
su git
# 在根目录创建.ssh文件夹,存放公钥
cd ~
mkdir .ssh将本地的公钥(id_rsa.pub)上传到服务器的
/home/git/.ssh
目录下新建
authorized_keys
文件,并拷贝公钥的内容到该文件中,依次执行以下指令:1
2
3
4
5
6
7
8
9
10cd ~/.ssh
cp id_rsa.pub authorized_keys
cat id_rsa.pub >> ~/.ssh/authorized_keys
# 设置权限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
# 确保 SSH 相关的文件和目录具有正确的 SELinux 安全标签
restorecon -Rv ~/.ssh测试本地免密登录服务器: ssh -v git@47.109.182.149
配置git仓库(切换到git用户)
1
2
3
4cd ~
git init --bare hexo.git
vi ~/hexo.git/hooks/post-receive
# 输入git --work-tree=/data/hexo --git-dir=/home/git/hexo.git checkout -f,保存并退出授予钩子文件可执行权限
1
2
3chmod +x ~/hexo.git/hooks/post-receive
cd ~
sudo chmod -R 777 /data/hexo部署 Hexo 博客到服务端 Git 仓库
在本地计算机打开 Hexo 项目,修改
_config.yml
文件中的deploy
:1
2
3
4deploy:
type: git
repo: git@公网ip:/home/git/hexo.git
branch: master安装插件,hexo-deployer-git 和 hexo-server
1
2
3
4
5# 用于将 Hexo 生成的静态文件推送到指定的 Git 仓库
npm install hexo-deployer-git --save
# 用于在本地启动一个 Hexo 服务器,方便在本地预览博客
npm install hexo-server配置 Git 全局变量
1
2
3# email 和 name 随便填一个也可以
$ git config --global user.email "xxxxxxxxxx@xx.com"
$ git config --global user.name "xxx"生成静态文件和发布博客
1
2
3
4
5
6# 清除之前生成的静态文件
hexo clean
# 生成静态文件
hexo generate
# 部署到 Git 仓库
hexo deploy
Xshell 连接服务器
- 查看
/etc/ssh/sshd_config
的参数PasswordAuthentication
配置是否有误。将其修改为yes。