请注意,本文编写于 1402 天前,最后修改于 1291 天前,其中某些信息可能已经过时。
写在开头
总对GitHub、Coding的Page服务不满意,考虑要不要把博客部署到自己的服务器上,于是就有了下面的简单的部署方法。
注:通过宝塔面板实现,不喜勿用
服务器配置
安装宝塔Linux面板
注:宝塔linux6.0版本是基于centos7开发的,务必使用centos7.x 系统
CentOS7.x:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Deepin:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
Debian:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
Fedora:
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
安装后,请务必记录面板的用户名和密码,登录后进行默认配置,不再阐述。
安装WebHook
在软件管理
中,安装WebHook 1.0。
生成部署公钥
使用ssh链接到你的服务器。Windows可开启OpenSSH或者xshell软件。
开启OpenSSH
Windows10下,在设置--应用和功能--可选功能--添加功能
中,安装openSSH客户端
。
通过以下命令链接服务器:
ssh root@服务器ip地址
生成公钥
ssh-keygen
默认回车即可。
生成的公钥在服务器的/root/.ssh
中。可通过宝塔面板文件
较为方便的下载。
这里我们仅需id_ras.pub
文件,下载并打开,然后将内容完全复制。
添加WebHook
在宝塔面板的软件管理
中,找到WebHook并点击设置--添加。
名称自拟,执行脚本先随便填写,后面会修改。然后点击提交。
点击编辑
,将下面的脚本粘贴到框内。第16行为你的GitHub项目
#!/bin/bash
echo ""
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
# 判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "End"
exit
fi
# git项目路径
gitPath="/www/wwwroot/$1"
# git 网址
gitHttp="http://git.xxxxx.com/$1.git"
echo "Web站点路径:$gitPath"
# 判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
# 判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
git clone $gitHttp gittemp
mv gittemp/.git .
rm -rf gittemp
fi
# 拉取最新的项目文件
git reset --hard origin/master
git pull
# 设置目录权限
chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
添加后,查看密钥。
GitHub配置
添加公钥
注:这里就有个前提了,你需要先把hexo部署到github上(手动滑稽)
在你的博客项目中,打开设置,并点击Deploy Keys
然后点击右上角Add deploy key
题目自拟,然后把刚才复制的key粘贴到下面的key
中,勾选Allow write access
设置WebHooks
点击WebHooks,添加Webhook。
在URL处填写
http://面板Ip:端口号/hook?access_key=密钥¶m=博客网站目录
其中,密钥部分为宝塔配置添加WebHook后的密钥
。param为你在面板中创建的博客网站目录。默认在/www/wwwroot/xxxxxx
中。
Secret可不填,其他保持默认即可。点击Add webhook
完成
如此配置之后,再部署即能够实时发送到你的服务器上。
hexo g && hexo d