将Hexo部署到远程服务器
1. 服务器部署
1.1 Git用户设置
首先在远程服务器中创建Git用户
adduser git
增加sudo权限
sudo vim /etc/sudoers
在文件中找到如下命令
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
添加以下内容
git ALL=(ALL) ALL
然后按Esc
键,然后按w!
回车和q!
回车,强制写入
在git用户下创建.ssh并将公钥复制到authorized_keys
文件中
1.2 创建仓库目录
在var目录下创建repo作为Git仓库目录
sudo mkdir /var/repo
赋予权限
sudo chown -R git:git /var/repo
sudo chmod -R 755 /var/repo
接下来创建Hexo目录作为网站根目录,并赋予权限
sudo mkdir /var/hexo
sudo chown -R git:git /var/hexo
sudo chmod -R 755 /var/hexo
接下来创建一个空白的Git仓库
cd /var/repo
sudo git init --bare hexo.git
创建一个新的 Git 钩子,用于自动部署.
在/var/repo/hexo.git
下,有一个自动生成的 hooks文件夹。我们需要在里边新建一个新的钩子文件 post-receive
sudo vim /var/repo/hexo.git/hooks/post-receive
写入如下代码
#!/bin/bash
git --work-tree=/var/hexo --git-dir=/var/repo/hexo.git checkout -f
修改权限
sudo chown -R git:git /var/repo/hexo.git/hooks/post-receive
sudo chmod +x /var/repo/hexo.git/hooks/post-receive
2. 配置Nginx
使用宝塔快速搭建Nginx,先安装一下宝塔
wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh 12f2c1d72
去阿里云轻量服务器控制台中的防火墙中,添加宝塔面板相应的端口
在宝塔面板的软件商店中安装Nginx,部署完成之后,点击网站,添加站点,填写域名,随后点击配置文件
server
{
listen 80;
# server_name填写你自己的域名,没有的话填ip
server_name wblv66.top;
index index.php index.html index.htm default.php default.htm default.html;
# 这里root填写自己的网站根目录,修改为/var/hexo
root /var/hexo;
3. 修改本地配置
修改.ssh/config
的设置,增加如下
Host wblv66.top
HostName wblv66.top
User git
IdentityFile /home/lwb/.ssh/私钥
IdentitiesOnly yes
进入本地电脑Hexo博客的根目录,编辑站点配置文件 _config.yml
,找到deploy
,修改成以下
deploy:
type: git
#repo改为repo: git@你的域名:/var/repo/hexo.git
repo: git@wblv66.top:/var/repo/hexo.git
branch: master
输入以下命令部署
hexo clean
hexo d -g
参考文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 雯欂の修仙笔记!