百度云主机系统为:Ubuntu20.04
称百度云服务器为服务器,自己的电脑为本机
默认本机环境已经能本地跑Hexo
安装git
apt-get install git
安装nginx
apt-get install nginx
进入nginx的配置文件目录,然后使用vim打开文件
cd /etc/nginx/sites-available
sudo vim default
其中server_name修改为自己的域名,没有域名则无需修改。
root修改为/var/www/html/blog,这是我们博客网站的根目录。
创建git用户
adduser git
chmod 740 /etc/sudoers
vim /etc/sudoers
找到以下内容
# User privilege specification
root ALL=(ALL:ALL) ALL
在下面添加一行
git ALL=(ALL:ALL) ALL
获得root权限
sudo passwd git
设置SSH
切换为git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
然后将自己电脑的.ssh文件夹下的id_rsa.pub文件里的内容复制到authorized_keys中,接着赋予相应的权限,一般windows的id_rsa.pub文件路径为C:\Users\Administrator\.ssh
将xxx.pub的内容复制到百度云服务器中的~/.ssh/authorzied_keys中,接着赋予相应的权限,使用root用户
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh
然后我们在客户端终端上输入ssh -v git@ip地址
就可以免密登录了
git仓库设置
切换到git用户,然后再服务器上初始化一个git裸库
su git
cd ~
git init --bare blog.git
着新建一个post-receive文件
vim ~/blog.git/hooks/post-receive
在文件中输入
#!/bin/sh
git --work-tree=/var/www/html/blog --git-dir=/home/git/blog.git checkout -f
保存退出后再赋予该文件执行权限
chmod +x ~/blog.git/hooks/post-receive
本机Hexo设置
在博客配置文件_config.yml中修改如下
deploy:
type: git # 百度云服务器
repo: git@公网IP地址:/home/git/blog.git
branch: master
最后不要忘了
hexo clean
hexo g
hexo d