前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hexo 部署至云服务器(宝塔面板)

Hexo 部署至云服务器(宝塔面板)

作者头像
Qwe7
发布2022-03-30 09:12:06
5.8K0
发布2022-03-30 09:12:06
举报
文章被收录于专栏:网络收集

hexo 博客部署方法有好多种,github pagesgitee pages(pro)vercelcloudflare page腾讯存储桶等等这些不需要购买服务器的部署方式。一般大部分都用以上方式部署自己的hexo博客,但也有少部分部署在自己服务器的同志。

新手部署服务器最常见的方法就是:直接把本地生成的public中的文件,直接ftp到服务器www根目录,简单粗暴。

还有一种更优雅地方式,那就是直接在服务器上搭建git仓库,hexo三连直接deploy上去(跟搭建在github pages上的方式一样)。

💻为什么要部署至服务器?

个人感觉手头有闲置的网速较快的服务器,可以尝试部署至服务器。

比如我手头有一个腾讯云中国香港二区 2核 4GB 5M的服务器。对比了一下我放在又拍云cdn上的主站网速,可以看到:

这速度可谓不相上下。

相比起github pages的慢、coding pages的抽(移动宽带经常抽),服务器部署还是有一定优势的。

当然,如果域名,手头没有闲置的服务器,还是建议嫖上国内的CDN

🎁部署教程

老样子,简单说下思路:

  • 服务器安装宝塔面板(方法可见《在腾讯云服务器上搭建WordPress》前半部分,宝塔面板的安装)
  • 创建git仓库,并配置git钩子,自动同步文件到网站目录
  • 配置网站访问设置
  • 本地git deploy设置

准备工作

2.本地生成ssh秘钥备用

代码语言:javascript
复制
git config --global user.name "GitHub用户名"git config --global user.email "GitHub的邮箱"ssh-keygen -t rsa -C "GitHub的邮箱" 

连接服务器终端

宝塔面板用户可直接左侧导航栏终端登录(如图)

宝塔终端登录
宝塔终端登录
  • 切换到 root 账号
代码语言:javascript
复制
sudo su root 

  • 安装 git
代码语言:javascript
复制
yum install git 

创建 Git 账户

创建 Git 账户并赋予权限

代码语言:javascript
复制
adduser gitchmod 740 /etc/sudoers 

编辑 /etc/sudoers 文件

代码语言:javascript
复制
vim /etc/sudoers 

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

代码语言:javascript
复制
git     ALL=(ALL)     ALL 

如图所示:

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

更变/etc/sudoers权限

代码语言:javascript
复制
chmod 400 /etc/sudoers 

设置 git 账户密码

代码语言:javascript
复制
sudo passwd git 

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

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

代码语言:javascript
复制
su gitmkdir ~/.sshvim ~/.ssh/authorized_keys 

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

更改权限:

代码语言:javascript
复制
chmod 600 /home/git/.ssh/authorized_keyschmod 700 /home/git/.ssh 

本地测试:

代码语言:javascript
复制
ssh -v git@服务器ip地址或域名 

不用输密码就成了。

创建git仓库

切换为root用户

代码语言:javascript
复制
sudo su root 

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

代码语言:javascript
复制
mkdir /var/repochown -R git:git /var/repochmod -R 755 /var/repo 

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

代码语言:javascript
复制
mkdir /var/hexochown -R git:git /var/hexochmod -R 755 /var/hexo 

创建一个空白的 git 仓库

代码语言:javascript
复制
cd /var/repogit init --bare hexo.git 

编辑一个 Git 钩子

代码语言:javascript
复制
vim /var/repo/hexo.git/hooks/post-receive 

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

代码语言:javascript
复制
#!/bin/bashgit --work-tree=/var/hexo --git-dir=/var/repo/hexo.git checkout -f 

更改权限

代码语言:javascript
复制
chown -R git:git /var/repo/hexo.git/hooks/post-receivechmod +x /var/repo/hexo.git/hooks/post-receive 

宝塔网站配置

创建一个网站

本地 Git deploy 设置

安装git部署插件

代码语言:javascript
复制
npm install hexo-deployer-git --save 

在博客根目录配置

代码语言:javascript
复制
deploy:  type: git  repo: git@服务器ip或域名:/var/repo/hexo.git  branch: master 

🧧结束语

配置完成后,可直接hexo三连到自己的服务器。简单快捷。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 💻为什么要部署至服务器?
  • 🎁部署教程
    • 准备工作
      • 连接服务器终端
        • 创建 Git 账户
          • 创建git仓库
            • 宝塔网站配置
              • 本地 Git deploy 设置
              • 🧧结束语
              相关产品与服务
              内容分发网络 CDN
              内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档