GYS Blog

没有梦想的闲鱼之家

0%

Hexo静态博客搭建教程

知乎教程

hexo主题

git生成秘钥配置SSH公钥的简单方法

服务器端软件配置

apt-get update
apt-get install git nginx -y
mkdir /var/repo/ # 建立存储库地址
chown -R $USER:$USER /var/repo/ # 修改权限
chmod -R 755 /var/repo/
cd /var/repo
git init --bare {自定义仓库名name}.git  # 建立远程存储库
mkdir -p /var/www/hexo # 创建nginx托管文件目录
chown -R $USER:$USER /var/www/hexo
chmod -R 755 /var/www/hexo

vim /etc/nginx/sites-available/default # 在server中修改,使root指向/var/www/hexo目录 'root /var/www/hexo;';有域名可在server_name后写入域名
# 简单vim操作,i进入编辑模式,esc退出编辑模式,:wq保存退出。
service nginx restart # 重启nginx服务
# 此时测试搭建成功与否
在/var/www/hexo目录下,新建index.html,若不更改root指向,/var/www/html下有index.nginx-debian.html默认文件
<html>
<body>
<p>This is my Blog.</p>
</body>
</html>
# 访问公网网址
vim /var/repo/ganahBlog.git/hooks/post-receive # 创建钩子文件
#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/ganahBlog.git checkout -f
chmod +x /var/repo/ganahBlog.git/hooks/post-receive

git clone root@服务器IP:/var/repo/ganahBlog.git or
git clone git@服务器IP:/var/repo/ganahBlog.git

配置_config.yml,将 url 改成https://服务器IP/,将 deploy 目标改为 服务器用户名@服务器IP:/var/repo/自定义存储库.git:
在个人博客站点目录下,打开 Git bash ,使用 hexo clean && hexo g -d 部署:

本地软件配置

sudo apt-get update
sudo apt-get install nodejs-dev node-gyp libssl1.0-dev
sudo apt-get install npm
mkdir hexo #创建目录,之后命令操作在该目录下
cd hexo #切换目录
sudo npm install -g hexo-cli
hexo init  ~/hexo #初始化 Hexo
gedit _config.yml
# _config.yml
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'

url: http://server-ip # 没有绑定域名时填写服务器的实际 IP 地址。
root: /
permalink: :year/:month/:day/:title/ 
or :category/:title/
permalink_defaults:
# Writing
new_post_name: :title.md # File name of new posts
default_layout: draft # 在source下产生_draft草稿,通过publish移入_post中
deploy:
    type: git
    repo: 你的服务器用户名@ECS云服务器的IP地址:/var/repo/hexo_static
    branch: master
hexo new 博客名称 #在hexo init的文件目录中
# 编辑md的题头及文章内容,按照格式操作
hexo publish 博客名称 #发布博客内容,移入_post中

git部署本地博客到服务器

cd ~/hexo
npm install hexo-deployer-git --save #安装必要插件
hexo g -d #测试部署,若以root登录,则需要输入服务器密码,若git账户登录,输入自定义用户组密码,令牌待续..

主题选择及主题优化

Hexo 搭建个人博客

Next主题

Next动态插件

git clone https://github.com/theme-next/hexo-theme-next
# 放入theme中
git clone https://github.com/theme-next/theme-next-canvas-nest themes
# hexo/_config.yml
theme:next

# hexo/source/_data/footer.swig
<script color="0,0,255" opacity="0.5" zIndex="-1" count="99" src="https://cdn.jsdelivr.net/npm/canvas-nest.js@1/dist/canvas-nest.js"></script>

# theme/next/_config.yml
custom_file_path:
...
# 取消注释  footer: source/_data/footer.swig
# 添加以下代码
canvas_nest:
  enable: true
  onmobile: true # 是否在移动端显示
  color: '0,0,255' # 动态背景中线条的 RGB 颜色
  opacity: 0.5 # 动态背景中线条透明度
  zIndex: -1 # 动态背景的 z-index 属性值
  count: 99 # 动态背景中线条数量

Some tricks

  1. 查看服务器错误日志文件:/var/log/nginx/error.log

  2. 建立新用户git:

     adduser git # 按照指引输入密码等
     su git # 切换到git用户 git用户desktop下
     #  将密钥添加到 git 用户下(秘钥在主机上生成)
     mkdir /home/git/.ssh
     vim /home/git/.ssh/authorized_keys
    
     ssh-keygen -R "远程服务器ip" # 更新公钥
     # 切换到主机端
     ssh -v git@公网IP
  3. 初始化远程仓库使用git –bare init(instead of ‘git init’)