从github迁移hexo博客到服务器

本文详细介绍了如何在云服务器上安装git和nginx,配置Hexo博客以实现与GitHub及个人服务器的自动化同步更新,包括创建Git裸库、配置Nginx、设置Git-Hooks等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要本地hexo博客已搭建完毕,以下是在服务器以root用户操作,个人博客:点我查看

1.登录云服务器安装git和nginx

sudo apt install git
sudo apt install nginx

这样以后输入服务器地址会打开nginx默认页面

2.修改默认打开页面

也可不修改默认打开页面只需将博客文件放到/var/www/html下即可

找到nginx配置文件,我这是/etc/nginx/sites-available下的default文件,建议先备份

vim default

在这里插入图片描述
重新载入Nginx,使配置生效

service nginx reload

如果报错,看看找对配置文件没,实在改不过来恢复原来的备份文件,执行命令后没什么显示即执行成功

3.创建一个Git裸库,只用于保存Repository信

cd ~
git init --bare blogit.git

使用Git-Hooks同步网站根目录,这里使用的是Git中的“post-receive”,当有Git收发的时候会调用该脚本,自动将最新内容同步到网站根目录中

vim blogit.git/hooks/post-receive

将以下语句写入文件

#!/bin/sh
git --work-tree=/opt/hexo --git-dir=/root/blogit.git checkout -f

注意博客路径和当前用户

保存并赋予执行权限

chmod +x /root/blogit.git/hooks/post-receive

4.本地配置

配置”_config.yml”

打开位于Hexo博客根目录下的“_config.yml”文件,找到“deploy”并修改

deploy:
-  type: git
   repository: git@github.com:zss192/zss192.github.io.git
   branch: master
-  type: git
   repository: root@39.107.45.243:/root/blogit.git
   branch: master      # 分支

注意若原来type: git前面没有-这个符号要手动添加上,不然后面会报错

本地执行下列命令即可

hexo clean
hexo g
hexo d

这样以后hexo d的时候就会推到github和个人服务器上了

5.hexo d免密码

经过上述操作我们每次使用hexo d的时候就会推到服务器上,但是每次都要输入密码,添加秘钥免密推送

进入~/.ssh找到id_rsa.pub改为 anthorized_keys并上传到服务器你的主目录下的.ssh下即可

cp id_rsa.pub authorized_keys
scp authorized_keys username@服务器地址:~/.ssh

若没秘钥本地输入ssh-keygen -t rsa生成即可

这样后就会github和服务器同步更新了,即使以后更换服务器只需按照上述步骤操作下即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值