一、部署宝塔到云服务器

  • 登录腾讯云进入控制台找到服务器,选择登录,可以使用腾讯云的远程登录

  • 创建宝塔面板

    • 宝塔官网: https://www.bt.cn

    • 点击Linux版按钮,点击立即安装,找到Centos(购买的时候会选择此系统)安装命令

    • 在终端输入安装代码(右键→粘贴),然后回车:

    1
    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

等待安装完毕,记住登陆网址、用户名和密码(下图红色部分)

2.登录宝塔面板

  • 在浏览器里输入 外网面板地址 ,然后输入用户名密码
  • 登陆后直接安装LNMP环境:

在等待安装的过程中,在左侧→面板设置栏目里面,修改登陆地址、用户名和密码,方便自己记录

3.添加网站

  • 在域名解析商那,把你自己的域名解析到面板左上角那个IP地址上
  • 点击面板左侧网站添加站点

img

二、配置本地git和宝塔面板

1. 连接服务器终端,宝塔面板用户可以直接在左侧导航栏终端登录

  • 切换到root账号
1
sudo su root

宝塔默认是root账号,注意看图:

  • 安装git
1
yum install git

2.创建git账户

创建git账户并赋予权限

1
2
adduser git
chmod 740 /etc/sudoers

编辑 /etc/sudoers 文件

1
vim /etc/sudoers

i键进入编辑模式,找到root ALL=(ALL) ALL,在其下方加入:

1
git     ALL=(ALL)     ALL

输入完成后按esc,再输入:wq,保存退出。更变/etc/sudoers权限

1
chmod 400 /etc/sudoers

3.设置git账户密码

1
sudo passwd git

输入密码,输入的时候是看不到任何显示的,输完回车即可。

切换至 git 用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件

1
2
3
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

同样i进入编辑模式,把之前本地准备的id_rsa.pub文件中的公钥复制进去,按esc后,输入:wq保存。

更改权限:

1
2
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh

4.本地测试

1
ssh -v git@服务器ip地址或域名

测试出现git则表示连接成功,如果出现错误则重新生成git秘钥

5.创建git仓库

切换为root用户

1
sudo su root

创建repo作为仓库目录,并加权限

1
2
3
mkdir /var/repo
chown -R git:git /var/repo
chmod -R 755 /var/repo

创建 hexo 目录作为网站根目录

1
2
3
mkdir /var/hexo
chown -R git:git /var/hexo
chmod -R 755 /var/hexo

创建一个空白的 git 仓库

1
2
cd /var/repo
git init --bare hexo.git

编辑一个 Git 钩子

1
vim /var/repo/hexo.git/hooks/post-receive

i进入编辑模式,添加下面的代码,按esc输入:wq 保存

1
2
#!/bin/bash
git --work-tree=/var/hexo --git-dir=/var/repo/hexo.git checkout -f

更改权限

1
2
chown -R git:git /var/repo/hexo.git/hooks/post-receive
chmod +x /var/repo/hexo.git/hooks/post-receive

6.配置nginx文件

将映射文件配置成为root /var/hexo,这样才能正确的访问网站

7.添加秘钥和证书并强制https(这样我们在浏览器访问时就不会出现不安全的现象)

8.本地git deploy设置

安装git部署插件(之前安装过了就不用了)

1
npm install hexo-deployer-git --save

在博客根目录_config.yml文件配置

1
2
3
4
deploy:
type: git
repo: root@服务器ip或域名:/var/repo/hexo.git
branch: master
1
2
url: http://这里是你的服务器IP地址
root: /

最后在本地使用git部署

1
2
3
hexo clean
hexo g
hexo d