搭建自己的博客(二):配置部署
本地Windows环境配置
我用的是win11,和win10环境配置没有差别(大概?),网上的教程都没有特别说明win11与win10的不同,我这里就记录一下我自己的操作
安装Node.js
直接去Node.js官网下载Windows 64-bit安装包即可,安装时不需要特别注意勾选什么,一路下一步即可。安装包的好处就是不需要自己刻意配置环境变量。
随便打开一个终端,检查是否安装成功
node -v
npm -v
能正确显示版本号即安装成功
安装Hexo
安装Hexo需要Node.js正确安装。
随便打开一个终端,输入以下内容安装Hexo
npm install -g hexo-cli
查看是否安装成功
hexo -v # 或者 hexo v
使用Hexo
Hexo的作用是,在某一个文件夹下生成博客框架。
hexo init 你自己定的博客路径
# ex:hexo init D:\MyBlog
部署自己的博客肯定要好看的,hexo初始的博客框架不难看,也说不上好看,想要好看的可以上Hexo官网找找,我使用的是Fluid。
安装主题有两种方法,一种是使用npm命令安装,一种是git clone复制主题到项目文件夹下。需要注意的是,npm安装的主题并不会出现在项目themes文件夹下,而git下载的主题会保存在themes文件夹下。各个主题有自己的配置文档,Fluid也有自己的帮助文档,可以更改具体的配置项。这里就不多说了
编辑博客路径下_config.yml文件内容,文件里的各项该如何修改,请查看官方文档,特别是里面的deploy项,这里我放下我的部分配置供参考
title: CNWJY
subtitle: ''
description: ''
keywords:
author: Conan-jine
language: zh-CN
timezone: ''
url: http://ip # ip 换成自己服务器的公网ip
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: fluid
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repo: root@ip:/var/repo/blog.git # ip 换成自己服务器的公网ip
branch: master
hexo的命令很简单
# 查看hexo命令
hexo help
# 清除生成的静态文件
hexo clean
# 生成静态文件
hexo generate
# 查看部署在本地的效果
hexo server
# 将博客上传到服务端,需要配置好_config.yml文件的deploy项和服务端
hexo deploy
生成本地公钥
本地公钥是用来连接服务器的,服务器需要知道本地的公钥才能允许本地进行连接,否则hexo deploy命令无法成功
# 生成公钥
ssh-keygen -t rsa -C "自己的邮箱"
# 查看本地的公钥
cat ~\.ssh\id_rsa.pub
服务端Linux(CentOS)配置
安装git和nginx
sudo apt install nginx git
git的作用是接收本地的博客,nginx的作用是将git接收的博客呈现给互联网用户
添加git用户并设置密钥
sudo adduser git
su git
cd
mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
创建供Nginx发布的git仓库
sudo mkdir -p /var/repo #新建目录,这是git仓库的位置
sudo mkdir -p /var/www/hexo
cd /var/repo #转到git仓库的文件夹
sudo git init --bare blog.git #创建一个名叫blog的仓库
使用git-hooks实现自动部署
sudo vim /var/repo/blog.git/hooks/post-update
post-update内容如下
#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f
给post-update授权
cd /var/repo/blog.git/hooks/
sudo chown -R git:git /var/repo/
sudo chown -R git:git /var/www/hexo
sudo chmod +x post-update #赋予其可执行权限
配置Nginx
cd /etc/nginx/conf.d/
vim blog.conf
blog.conf部分内容如下,ip 换成自己服务器的公网ip,空格隔开还可以添加域名
server {
listen 80;
listen [::]:80;
root /var/www/hexo;
server_name ip;
location / {
try_files $uri $uri/ =404;
}
}
成果测试
本地终端进入博客所在路径,执行以下命令
hexo g && hexo d
浏览器输入自己的服务器ip或者域名即可访问
因文章是在我自己配置成功后才写的,有些细节忘了,如果你按照本文章配置博客,过程中有错误,或者没有达到想要的效果,可通过上方关于页联系我,我将会补充到本文中去。
安装证书
使用Cerbot自动安装证书,这样就可以用https访问了,浏览器再也不会提示网站不安全啦