请稍等...正在玩命加载中......

hexo部署到云服务器上(使用的宝塔面板)


一、云服务器上安装宝塔面板

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

2.创建宝塔面板

  • 宝塔官网:https://www.bt.cn/
  • 点击 Linux版 按钮,点击立即安装,会出现安装教程,找到Centos(购买的时候会选择此系统)安装命令
  • 在终端输入安装代码(右键→粘贴),然后回车:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

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

3.登陆宝塔面板

  • 在浏览器里输入 外网面板地址 ,然后输入用户名密码

  • 登陆后直接安装LNMP环境:

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

4.添加网站

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

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

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

  • 切换到 root 账号
sudo su root

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

  • 安装 git

    yum install git

2.创建 Git 账户

​ 创建 Git 账户并赋予权限

adduser git
chmod 740 /etc/sudoers

编辑 /etc/sudoers 文件

vim /etc/sudoers

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

git     ALL=(ALL)     ALL

如图所示:

输入完成后按esc,再输入:wq,保存退出。

更变/etc/sudoers权限

chmod 400 /etc/sudoers

3.设置 git 账户密码

sudo passwd git

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

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

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

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

更改权限:

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

4.本地测试:

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

记住如果出现这个错误如下图,

就把本地生成的秘钥文件known_hosts 删除,(一般在C盘的/用户/.ssh文件夹下面)文件如下图,并在git中重新生成秘钥

本地重新生成ssh秘钥

git config --global user.name "GitHub用户名"
git config --global user.email "GitHub的邮箱"
ssh-keygen -t rsa -C "GitHub的邮箱"

5.创建git仓库

切换为root用户

sudo su root

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

mkdir /var/repo
chown -R git:git /var/repo
chmod -R 755 /var/repo

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

mkdir /var/hexo
chown -R git:git /var/hexo
chmod -R 755 /var/hexo

创建一个空白的 git 仓库

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

编辑一个 Git 钩子

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

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

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

更改权限

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

6.宝塔网站配置

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

如果没有申请证书就去域名注册商处免费申请一个,这里以腾讯云为例

首先下载证书:

在本地解压打开,我们可以看到证书目录文件

宝塔面板只需要用到NginxApache的,其他无需理会。

使用Nginx:

其中.key后缀的是服务器私钥,填入面板证书的左边框中(用文本编辑器完整复制粘贴进去)

.crt后缀的是证书(也可能是pem后缀),填入面板证书的右边框中(用文本编辑器完整复制粘贴进去)

然后保存,并强制开启https就行了。

8.本地 Git deploy 设置

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

npm install hexo-deployer-git --save

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

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

最后在本地使用git部署

hexo clean
hexo g
hexo d

我们在浏览器输入网址就可以访问了

更多知识关注微信公众号“51学代码”


文章作者: JinJunzheng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 JinJunzheng !
评论
评论
  目录