前言
起因是因为码云给我发来邮件,说我的仓库已经 500M 了,要么花钱扩充,要么不能增加。而自己的网站却有 40G 容量空着,所以趁着这个机会,收拾下个人网站.
原本是想纯命令行把博客搭好,可是因为参考的资料太多零零碎碎,折腾了好久都没有成功,最终放弃命令行.后来使用宝塔面板很快就搭建成功
本篇文章就是教你用宝塔面板把 hexo 博客部署到云服务器
准备工作
用 Hexo 在本地搭建好你的博客
注意是在本地.这里的就不多说了。网上文章一大堆了.可以照着一步步来要是不行的话,具体的可以参考
准备安装宝塔
- Centos 系统的话可以直接利用 ssh
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
- 这样它会自己安装,安装成功请记住一个网址和用户名密码 类似下面
Bt-Panel: http://xxxxxxxxxx:8888/yyyyy
username: xxxxxxxx
password: yyyyyyy
- 然后访问网址 第一次他会让你输入新的用户名和密码.请务必记住
进去后请按照步骤一步步安装Ngix,mysql,PHP,phpmyadmin,ftp
- 安装完如下图
在服务器端
安装 Node
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs
安装 git
- Centos 用户
yum install git
配置 git 仓库
在 root 用户下输入以下代码:(#后的内容为注释)
useradd git # 创建用户git
passwd git # 为用户git设置密码
chmod 740 /etc/sudoers # 修改文件的权限以便做出更改
vim /etc/sudoers # 打开编辑器
# 找到 root ALL=(ALL) ALL
# 在下面添加一行 git ALL=(ALL) ALL
# 输入:wq即可保存并退出编辑
chmod 400 /etc/sudoers
然后进去 git 用户
su git # 切换到git用户,这步最关键
sudo mkdir -p /www/wwwroot/blog # 把博客目录放在宝塔网站的根目录下
cd /home/git
mkdir repos
cd repos
git init --bare blog.git # 创建一个裸库blog.git
cd blog.git/hooks
vim post-receive
# 这里有个小坑(坑了我半天)你得先敲击键盘a底部变成insert然后在进行下一步
然后在打开的文件里面输入
#!/bin/sh
git --work-tree=/www/wwwroot/blog --git-dir=/home/git/repos/blog.git checkout -f
然后保存退出
按下ESC,后输入:wq
保存退出后修改文件权限
chmod +x post-receive
exit #回到root用户
chown -R git:git /home/git/repos/blog.git #赋予git用户可操作仓库blog.git的权限
chown -R git:git /www/wwwroot/blog #赋予git用户可操作仓库blog.git的权限
备注有的时候可能 post-receive 格式不太对需要改以下
- 报错误 git 报错 remote: error: cannot run hooks/post-receive: No such file or directory
cd /home/git/repos/blog.git/hooks
yum install -y dos2unix
dos2unix post-receive
到此 服务器端全部完成
在本地端
免密远程连接服务器
任意处打开 Git Bash
ssh-copy-id -i C:/Users/Administrator/.ssh/id_rsa.pub git@服务器ip
ssh git@服务器ip
此时远程链接应该不需要密码
如果仍需要密码请仔细查看步骤
如果还有错误请把错误提示放到 Google 上搜索方案
宝塔面板设置
宝塔配置
- 宝塔-网站-添加网站,如图所示
- 然后填写网站 IP,网站目录选择 /www/wwwroot/blog,网站域名填写你自己的
HEXO 配置文件设置
在你和 hexo 博客配置文件中找到根目录中的_config.yml 在 deploy 项中修改如下
deploy:
type: git
repository:
github: 这里是你的github.io页面地址
server: git@你的ip:/home/git/repos/blog.git
branch: master
- 然后执行如下命令 将博客 PUSH 到服务器的仓库中
hexo clean
hexo g
hexo -d
完结
最后在浏览器输入地址 查看效果即可