服务器配置git:

远程ssh登录云服务器。新建并切换用户jack(wheel组中的超级用户,防止滥用root):

1
2
3
4
adduser jack
passwd jack
usermod jack -G wheel
su jack

创建git仓库目录,并赋予jack用户修改权限:

1
2
3
4
5
6
cd /home
mkdir git_content
cd git_content/
cd ..
chown -R jack:jack /home/git_content/
chown -R 755 /home/git_content/

初始化git仓库:

1
2
3
cd git_content/
git init --bare blog.git
chown jack:jack -R blog.git

新建文件:vi /home/git_content/blog.git/hooks/post-receive,输入以下内容:(建立git仓库与work-tree目录的映射,其中git仓库就是hexo源代码的位置,work-tree目录就是hexo编译生成静态网页index.html的位置)

1
2
#!/bin/bash
git --work-tree=/home/blog --git-dir=/home/git_content/blog.git checkout -f

再次赋予用户jack权限:

1
2
3
4
chmod +x /home/git_content/blog.git/hooks/post-receive
mkdir /home/blog
chown -R jack:jack /home/blog
chmod -R 755 /home/blog/

服务器配置nginx:

修改nginx配置文件:vi /usr/local/nginx/conf/nginx.conf,添加以下内容:

1
2
3
4
5
6
7
8
server {
listen 80;
#server_name XXX.XX.XXX.XX;
server_name localhost;
location / {
root /home/blog;
index index.html;
}

其中,XXX.XX.XXX.XX是你的服务器主机IP地址,或者直接用localhost代替服务器自身。监听端口默认80,跳转到hexo的静态网页文件:/home/blog/index.html

启动nginx服务即可将网站运行起来:在路径/usr/local/nginx/sbin下运行: ./nginx

本地cmd:(git免密配置)

首先配置ssh密钥(免密登录)(配置失败,之后再检查)

1
ssh-keygen -t rsa

打开 C:\Users\zj_yy\.ssh\id_rsa.pub,复制其中的内容,粘贴到服务器的用户jack下:

1
2
3
su - jack
cd /home/jack
vi .ssh/authorized_keys

粘贴刚才复制的key(免密失败)。

本地hexo部署设置

Hexo根目录下修改_config.yml (XXX.XX.XXX.XX是你的服务器主机IP地址)

1
2
3
4
deploy:
type: git
repository: jack@XXX.XX.XXX.XX:/home/git_content/blog.git
branch: master

记得部署前需要安装部署助手(hexo-deployer-git):

bash
1
2
3
cnpm install --save hexo-deployer-git
hexo clean
hexo g

部署:

1
hexo d

由于免密配置失败,因此每次部署需要输入密码。

Hexo写作命令

bash
1
2
3
hexo new jack01.md
hexo g
hexo d

图床设置

这是Typora本地图片上传路径:(Typora自动复制一份到临时路径下)

![image-20230518070909032](C:\Users\zj_yy\AppData\Roaming\Typora\typora-user-images\image-20230518070909032.png)

AK, SK:

bucket, 存储区域:

(参考:(7条消息) 使用PicGo配置七牛云图床(图文步骤详细)_七牛图床_Hydrion-Qlz的博客-CSDN博客

存储区域:七牛云的存储区域(华东 z0,华北 z1,华南 z2,北美 na0,东南亚 as0 )

自定义PicGo快捷键:快速上传剪贴板中的图片到云图床,并复制链接:Alt+F

如果PicGo未上传,则在Typora中粘贴就是本地复制(Typora自带复制到临时文件夹功能),如果先Alt+F上传,则Typora粘贴就是云路径

  • 如果未上传,直接粘贴剪切板中的图片:(Typora会自动处理,复制到本地临时文件夹中,再把该临时路径粘贴过来)。网站无法访问本地路径中的图片。

![image-20230518072553140](C:\Users\zj_yy\AppData\Roaming\Typora\typora-user-images\image-20230518072553140.png)

  • 如果先PicGo上传再粘贴:(PicGo会自动上传并复制云链接)该路径是云图床的路径,任何网站都可以访问到:

网站底部添加备案号(BuffterFly主题)

\themes\ButterFly\_config.yml中的footercustom_text中添加以下代码:(用你自己的备案号)

1
2
3
<br>
<img src="https://haiyong.site/img/icp.png">
<a href="https://beian.miit.gov.cn/" target="_blank">沪ICP备2023010140号-1</a>

效果如图:

其他Hexo小技巧

  • 如果修改了文章但是hexo刷新失败(hexo clean也不能刷新),则可以将public文件夹删除,再hexo clean; hexo g; hexo s

  • 新建、修改md文档,不需要重新hexo g,只需要刷新网页即可

  • Hexo隐藏文章(亲测):Hexo 如何隐藏文章 - yangstar - 博客园 (cnblogs.com) (默认的hidden是false,只有显式将hidden属性写为true的文章才会被隐藏)

    • cnpm install hexo-hide-posts --save

    • _config.yml中添加:
      hide_posts: filter: hidden noindex: true

    • 给博文添加hidden=true属性即可隐藏文章:(默认值为false不隐藏)

      title: 'Hidden Post' date: '2021/03/05 21:45:14' hidden: true

    • 一键查看所有隐藏的文章,在bash中:hexo hidden:list