Hexo网站搭建与服务器部署
Hexo网站搭建与服务器部署
Mingbo Hexo网站搭建与服务器部署
Hexo网站搭建与服务器部署
Hexo网站搭建
正在更新中。。。
Hexo部署在服务器上
之前博客一直用的 GitHubPage,因为墙的原因,有的时候网络真的卡到爆,既然前段时间双十一促销的时候买了腾讯的轻量应用服务器,就想着早点把博客弄上去,但也一拖再拖,今天得空,赶紧弄了吧。
本文在 Windows10 操作系统下演示。
一、环境准备
1. 安装宝塔面板
在服务器上安装宝塔(Centos7.9系统):
1 | yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec |
2. 添加站点
点击左侧导航栏的“网站”,点击添加站点,
输入买的域名,点击提交,即可在 /www/wwwroot/ 下生成相应同名文件夹。
点击该站点右边的设置,在域名管理中添加服务器公网IP地址。
3. 安装Git
使用终端工具链接服务器运行如下指令:
1 | yum install git |
安装完成后查看一下版本git --version
,如果此时能查看到 git 的版本号,说明我们已经安装成功了。
4.安装Nginx
点击宝塔面板左侧导航栏的“软件商店”,下拉页面找到 Nginx 并安装,安装完成,打开右边的绿色开关,将会把Nginx放在首页显示。
浏览器输入服务器公网 IP 地址,若能够正常获取欢迎页面,说明 Nginx 安装成功。
宝塔面板会根据我们刚刚添加的站点自动为我们生成Nginx配置文件,一般无需改动。
二、Git 仓库搭建
1.添加一个git用户
链接服务器终端
adduser git #添加名字叫git的用户,我们用来做服务器库,方便将本地文件推送上去
1 | #然后给git 用户分配root 权限 |
方向键下滑找到root ALL=(ALL) ALL,
敲击键盘i进入插入模式
1 | #在root ALL=(ALL) ALL 下方添加一行 |
键盘Esc退出插入,:wq保存退出。
然后执行命令:
1 | chmod 400 /etc/sudoers #将其权限修改为文件所有者可读 |
2.给git用户添加ssh密钥
这一步是为了建立主机与服务器连接,使其不需要密码也能登陆。
打开自己电脑的 Git Bash,在控制台中输入这行命令:
1 | $ ssh-keygen -t rsa -C "你的域名" |
输入完毕后按回车,程序会要求输入一个密码,输入完密码后按回车会要求再确认一次密码,如果不想要密码可以在要求输入密码的时候按两次回车,表示密码为空,并且确认密码为空,此时电脑的c盘>用户>自己的用户名>.ssh目录下已经生成好了公钥 id_rsa.pub 文件。可以在 Bash 窗口通过cd命令和vim命令打开公钥 id_rsa.pub,添加密钥时需要复制那一坨字符。
打开宝塔面板终端,
添加密钥:
1 | su git #切换到git用户 |
修改权限:
1 | cd ~ |
本地测试:
1 | # 在本地电脑 Bash 窗口 |
用ssh -v去连有问题的服务器,会有比较详细的调试信息在屏幕上输出,可以帮助判断是哪一步出了问题。主要是看是客户端还是服务器的问题。如果是客户端的问题,应该log中有写。如果是没有什么有用信息,就可能是服务器端出问题了。
若提示是否继续连接(Are you sure you want to continue connecting (yes/no/[fingerprint])?
),输入yes回车即可:
如果不出现failed字样,说明成功。
3.创建Git仓库
注意!上面我们创建的是一个名为git的用户,现在我们在git用户下创建一个git仓库,二者不同,不要搞混了!
创建 git 仓库,用于存放博客网站资源。
1 | su root #切换到超级管理员 |
4.配置钩子实现自动部署
自动部署是通过Git钩子实现的,在服务器上的裸仓库 hexoBlog.git 里创建一个钩子,在满足特定条件时将静态 HTML 文件传送到 Web 服务器的目录下。
在 /home/git/repos/hexoBlog.git 下,有一个自动生成的 hooks 文件夹,我们进入:
1 | cd hexoBlog.git/hooks |
我们需要在里边新建一个新的钩子文件 post-update:
1 | vi post-update |
按i键进入文件的编辑模式,在该文件中我们要输入下边的两行代码(记得替换你上面创建的站点域名),指定 Git 的工作树(源代码)和 Git 目录(配置文件等):
1 |
|
然后,按Esc键退出编辑模式,输入:wq 保存退出。
然后修改文件权限,使得其可执行:
1 | cd /home/git/repos/hexoBlog.git/hooks/ |
到这里,我们的 git 仓库算是完全搭建好了。
若想测试git仓库是否可用,可以在本地电脑桌面新建一个文件夹,右键选择“git bush here”,然后执行命令:(别忘了把下面server_ip替换成服务器IP地址)
1 | git clone git@server_ip:/home/git/repos/hexoBlog.git |
出现下面两句话也请放心,这不是报错,
Cloning into ‘hexoBlog’…
warning: You appear to have cloned an empty repository.
只是提醒我们克隆的git储存库可能是空的,不过这当然了,因为才刚创建的。
打开这个新建的文件夹就会发现克隆成功的hexoBlog文件夹了,说明git仓库可用。
然后从桌面删掉这个测试用的新建文件夹吧。
三、修改本地电脑配置
打开本地的 hexo 博客所在文件夹,打开站点配置文件_config.yml(注意,不是主题的配置文件),下滑到最下面的部署代码做以下修改:
1 | # Deployment(部署) |
然后打开本地的 hexo 博客所在文件夹,执行部署的三句命令:
1 | hexo cl;hexo g;hexo d |
打开你的公网 IP,看是不是已经部署成功了。
四、域名备案与解析
我的域名是从阿里云买的,当然:要先备案通过
登录阿里云域名控制台:https://dc.console.aliyun.com/next/index
备案后解析到腾讯云服务器就行了。