Hexo+github&&服务器(坑已踩完)

Hexo部署到云服务器 前言 看到群里好多人问如何将Hexo部署到云服务器。按我的思想,如果有服务器谁还用Hexo?但居然还真有人。趁着上个月白嫖的腾讯云的机器还没过期,赶紧重装个系统,来咕一篇Hexo如何部署到云服务器。 开始操作 这篇文章并非从安装开始的教程。此教程建立在你已经能通过http://localhost:4000/访问到你的博客的基础上进行的教程。因此并不会涉及到Node的安装与配置,Hexo的下载等。如果还没成可以自行百度或者看我以前的一篇水文:从零开始搭建Hexo博客 一、通过Git生成SSH密钥 // 阅读详情

在这里插入图片描述

前言

您好,我的博客是不周阁

这里我将介绍如何从零使用hexo搭建一个个人博客,并且将其部署到GitHub上或者服务器上,并且将自己的域名与GitHub或者服务器绑定,实现通过域名访问自己的博客。这个期间我踩了很多坑,所以我会尽量讲的清楚,不留坑。

安装Node.js

如果你好奇node.js是什么可以看这里Node.js

NVM

  • 这里我使用NVM来安装node.js,并且我也推荐使用这种方法来安装,nvm可以帮助你管理多个不同版本的node.js。因为你可能在不同的项目里需要到不同版本的node.js。
  1. 下载NVM,可以直接前往GitHub下载,选择nvm-setup.zip下载就行,之后直接解压按照默认方式安装就好。

  1. 进入命令行窗口输入 nvm -v查看是否安装成功,这里需要使用管理员权限打开CMD,后面的过程会用到管理员权限。下图为成功截图。

  1. 下载node.js
nvm install node.jsb版本
# 例如:
nvm install 16.10.0

如果出现下载速度较慢的情况下可以为nvm添加淘宝源,找到nvm的安装路径,打开setting.txt文件(默认路径 C:\Users\用户名\AppData\Roaming\nvm)

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

  1. 查看已经安装好的node.js版本,并选择node.js版本
# 查看版本:
nvm list

# 选择版本:
nvm node.js版本
# 例如:
nvm 16.10.0

这里选择node.js版本需要管理员权限,如果出现乱码情况就是没有管理员权限,没有选择成功。想确定是否选择成功可以再次输入 node list查看,成功的清空下,版本后会有一段话,如(Currently using 64-bit executable)。

  1. 查看Node.js和npm版本
node -v
npm -v

此时就已经安装好Node.js了。

安装Git

直接去Git官网下载就行,全部默认安装就行。

安装Hexo

具体问题可以去Hexo官网看

  1. 全局安装Hexo,这里建议管理员启动CMD,不然后面可能会报错,也不要用powershell,这个也会报错,原因我暂时未知。
npm install -g hexo-cli
  1. 查看hexo是否安装成功
hexo -v

如果出现问题可以尝试将此路径 C:\Users\用户名\AppData\Roaming\nvm\v16.10.0 添加到系统的环境变量中。(这里包含hexo.cmd文件)

  1. 创建Hexo本地博客,新建一个blog文件夹,在这个文件夹内打开CMD
# 创建:
hexo init
# 本地运行
hexo s

此时表示本地已经安装好hexo。

部署到Github

  1. 首先你需要有一个Github账号,直接去Github官网注册就行。

  2. 创建一个仓库(repository),第一次尽量以用户名.github.io,当然你可以使用其他合理的名字,不过可能会出现问题。

选择public和 add a README file即可

  1. 在Blog文件夹打开CMD,安装一个插件(部署到远程必要的插件)。
npm install hexo-deployer-git --save
  1. 打开Blog文件夹下的_config.yml(配置文件),修改最后的deploy:
deploy:
  type: git
  repo: https://github.com/sophon123/helloword.github.io.git  #你的仓库地址
  branch: master  #选择的仓库分支
  1. 将hexo部署到GitHub
hexo clean # 清楚缓存
hexo g # 生成网站静态文件到默认设置的 public 文件夹
hexo d # 将生成的网站静态文件部署到设定的远程仓库

如果出现如下报错,是由于你这台电脑第一次使用git。

# 输入以下内容
git config --git config --global user.email "you@example.com"
git config --global user.name "Your Name"
# 例如
git config --global user.email xxxxxx@163.com 
git config --global user.name sophon3

设置完成后再输入hexo d重新上传,如果出现下图可以直接登陆上传,不过更加推荐给GitHub添加你电脑的rsa密钥,这样以后上传就不再需要登陆。即使你配置了rsa登陆,这里也需要你先登陆一次。

  1. 将rsa添加到github

在CMD窗口输入

ssh-keygen -t rsa

直接回车就行,全部选择默认

密钥生成成功,打开文件夹 C:\Users\Sophon\.ssh下的id_rsa.pub文件,里面就是本机的rsa密钥。打开你的GitHub,点击你的头像,依次选择setting -> SSH and GPG keys -> New SSH key ,

将你电脑的rsa密钥添加到GitHub上。

再次使用hexo d上传,这时候你就能通过https://username.github.io/仓库名访问了。这时候部署到GitHub端基本完成了。如果你的仓库名是用户名则不需要加仓库名。如果出现无法渲染的情况,请打开blog文件夹下的_config.yml文件,按照其要求修改url,即改为https://username.github.io/仓库

部署到云服务器(Ubuntu20系统)

  1. hexo本地部署与上方一致直接进入服务器部署,什么厂家的服务器都一样,我这里使用的系统为ubuntu20.04。
  2. 安装git和nginx,Ubuntu20好像默认已经安装有git
sudo apt-get update
sudo apt-get update
sudo apt-get install git nginx -y

测试是否安装成功

git --version

测试nginx是否安装成功

systemctl start nginx.service    # 启动服务

去浏览器输入服务器的公网ip,看见如下图类似的画面则已经安装成功

  1. 创建一个git用户
sudo adduser git  # 创建git用户
sudo passwd 12345 # 设置git用户的密码
sudo chmod 740 /etc/sudoers   #(该文件为只读,想要增加内容必须增加权限)

给git用户权限

sudo vim /etc/sudoeres
# 如果没有成功进去可以先进入/etc目录
cd /etc
sudo vim /etc/sudoeres

找到 root ALL=(ALL:ALL) ALL在其下面添加 git ALL=(ALL;ALL) ALL,如下图 。

保存退出后将权限修改回来。

chmod 400 /etc/sudoers
  1. 将你主机的rsa与云服务器绑定。怎么得到本机rsa与上方配置GitHub的方法一样。

切换到git用户,创建一个.ssh文件夹,在中这个文件夹下面创建一个authorized_keys,这个文件没有后缀。

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

将你的主机C:\Users\Sophon\.ssh下的id_rsa.pub的内容复制到 authorized_keys下面。

# 验证是否绑定成功
ssh git@服务器公网ip

如果不需要密码就能登陆上你的服务器,证明已经绑定成功。

修改这里的权限

cd ~
chmod 600 .ssh/authorzied_keys
chmod 700 .ssh
  1. 建立网站根目录
su root  # 切换到root用户
mkdir /home/hexo  # 作为网站根目录
chown git:git -R /home/hexo
  1. 配置Nginx
vim /etc/nginx/sites-available/default    # 编辑配置

内容

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    #server_name  www.yours_server_name.com;    # 修改为自己的域名
    root         /home/hexo;    # 修改为网站的根目录
    index index.html index.php index.htm;
    #Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

使用nginx -t命令检查配置文件的语法是否出错。然后使用systemctl restart nginx.service systemctl命令重启服务即可。

  1. 建立git库
su root
cd /home/git   # 在 git 用户目录下创建
git init --bare blog.git   # 一定要加上--bare
chown git:git -R blog.git   #赋予git用户权限

这里使用的是post-receive这个钩子,当git有收发的时候就会调用这个钩子。 在blog.git裸库的 hooks文件夹中,新建post-receive文件。

vim blog.git/hooks/post-receive

填入以下内容,其中 /home/hexo 为网站目录

#!/bin/sh
git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f

添加权限

chmod +x /home/git/blog.git/hooks/post-receive
  1. 本地配置

找到你主机的blog文件夹,打开_config.yml文件,在最后配置deploy。

如果你需要部署到一个地方,只需要添加一个链接即可。

# 例如
tencent_cloud: git@公网ip:/home/git/blog.git

这里就已经部署完成了,先hexo clean清理一下缓存,就可以hexo g; hexo d部署了

绑定域名

  • 首先你需要有一个域名,正常到腾讯云或者阿里云购买一个就行了。
  • 购买之后到域名解析处,在购买域名的厂商那里找,每个厂商会有些不同。

腾讯云的界面如上,点击你蓝色的域名就能进入管理。

GitHub Page绑定域名

添加一条解析记录,具体你可以看看页面给的帮助文档

例如:

主机记录记录类型记录值
wwwCNAMEusername.github.io

然后在你主机的Blog\source文件夹下面添加一个CNAME文件,里面的内容填写你的域名,如www.buzhouge.top

然后进入你GitHub部署hexo博客的仓库,依次进入setting -> Pages ,在这里找到Custom domain,在这里添加上你的域名即可。然后将你的博客更新上传一次,等待几分钟域名解析,就能通过域名访问你的博客了。

当然你可以不用一级域名来绑定GitHub,你可以有很多的二级域名,只需要在解析域名时将主机记录修改。比如:

主机记录记录类型记录值
gitCNAMEusername.github.io

此时解析的域名就是git.buzhouge.top

可以通过http://git.buzhouge.top 来访问博客。

云服务器绑定域名

如果你没有绑定域名,那么你可以直接通过公网ip访问你的博客,如果想要将云服务器与域名绑定就比比较简单了,直接去域名解析处添加解析记录

主机记录记录类型记录值
wwwA服务器公网IP
@A服务器公网IP

http://buzhouge.top

这样你就能通过域名访问你部署在服务器上的博客了。

完结

Hexo搭建个人博客教程 title: 搭建博客 date: 2021-02-19 16:16:47 tags: 使用Hexo搭建个人博客 目录 文章目录使用Hexo搭建个人博客目录第一部分 Hexo 框架介绍第二部分 环境准备1.下载安装node.js2.使用淘宝镜像3. 安装Hexo第三部分 创建博客1. 创建博客的具体过程第四部分 部署博客第五部分 结语第六部分 参考第六部分 参考 第一部分 Hexo 框架介绍 : hexo 是一个快速简洁且开源的静态博客框架,它由JavaScript语言编写,支持使用Markdown. 阅读详情

相关推荐

LTspice基础教程-024.参数扫描;step指令用法

step指令用于参数扫描,扫描步骤可以是线性的,对数的或列表。 下面介绍几种常用用法: 绘制一简单电阻分压电路,如下: 线性扫描 语法:.step param <Name> <Start Value> <Stop Value> <Increment> 例:.step param Res 20 100 20 意思是R2的阻值从20变化到100,...

gaoyong_wang的博客 3万+

hexo 搭建个人博客系统

使用阿里云服务器 + 域名 + hexo 搭建个人博客; 主体过程 本地环境配置:安装 Node.js,Git,Hexo 阿里云服配置:域名备案,添加安全组,域名解析 服务器环境配置:安装 Node.js,Git,Nginx,Pm2 Github 配置: webhooks 本地环境:Win10,云服务器:Ubuntu 16.04 本地环境配置 安装 Node.js NVM 可以帮助我们快速切换 node 版本。所以,我们选择使用 nvm 来安装 node.js : 下载 Windows 10 版

TheBetterKong 425

2.4 提示词优化

我们在使用大模型的时候,同一任务使用不同表述的提示词,可能得到差异巨大的结果,因为模型的性能高度依赖输入提示词的质量。我们可以通过提示词优化来更高效地获取理想输出。

从0到1,突破自己 955

Hexo系列 | Hexo部署至服务器

Hexo部署至服务器,记录部署过程。Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

7c 1720

hexo系列】01.hexo环境搭建及github.io搭建

hexo环境搭建及github.io搭建

weixin_42072280的博客 3110

保姆级教学 基于Hexo搭建个人网站(Github

你是否也想要一个属于自己的网站呢 是否也想让亲朋好友大爷大妈来访问你亲手搭建的网站呢 那还在等什么!!!赶快关注晚妍吧!!!保姆级教学一定会帮助你成你的的梦想!!!。

熙灿 WaitAyaka CSDN B站 贴吧同名 3521

Hexo+GitHub搭建个人博客教程(2023最新版)

二、注册GitHub账号并且创建仓库一、准备环境首先,安装 nodejs, 因为Hexo是基于 Node.js 驱动的一款博客框架。⭐然后,安装git, 一个分布式版本控制系统,用于项目的版本控制管理,作者是 Linux 之父。⭐(官网)⭐(仅windows安装包)⭐[阿里镜像](速度快,ctr+f检索)安装过程一路next就行(安装路径可改)两者安装成之后,右击此电脑>属性>高级系统设置>环境变量>系统变量下的Path 可以看到两者已自动修改了环境变量,这是我们可以通过。

qq_62928039的博客 1万+

hexo搭建github.io博客

Introduction回顾一下我三年搭建博客的历程,最初是选择wordpress,Wordpress全部由php编写,数组库采用MySQL。优点:用户只需要将Wordp...

frontend_frank的博客 801

通过ssh在服务器Hexo搭建个人网站-blog、博客

通过ssh连接服务器(腾讯云)hexo搭建个人网站blog博客,GitHub用户密码不管用解决办法( Support for password authentication was removed on August 13,2021)端口(4000)占用问题解决办法,vim复制到截切版解决办法,hexo配置发表文章及hexo图片不显示问题

qq_62433118的博客 576

【Web】基于GitHub Pages+Hexo的学习制作个人博客网页

前言: 如果需要搭建起自己的个人品牌,那么个人博客网站是很需要的,在这里,基于GitHub Pages进行个人博客网页的搭建,因为正常的个人博客网页搭建需要去进行购买一个服务器(如果需要长期使用,即使长期租服务器也会受到容量的限制和经济限制)或者自行搭建一个家庭的服务器(涉及到服务器的维护以及防攻击的部署),需要有一定经济基础可支撑,同时,如果需要安全性就需要备案买一个域名,但是,基于GitHub Pages的公开静态网页免费托管和高容量,是一个很适合初学者的平台,当我们有一定经济基础可支撑,即可搭建全属

qq_73648789的博客 834

HEXO+Github,搭建属于自己的博客

这边教程是针对与Mac的,参考链接,由于原文讲到的hexo是以前的老版本,所以现在的版本配置的时候会有些改动。     之前是想着写博客,一方面是给自己做笔记,可以提升自己的写作、总结能力,一个技术点我们会使用,并不难,但是要做到让让别人也能听懂我们讲得,还是需要一定的技巧和经验的。很多类似于CSDN、博客园也都可以写文章,但是页面的样式我,不是太喜欢,简书还算好点得。最近看到一些大神们的博

775

hexo搭建博客常见报错和解决方法

以上就是搭建过程中常见的错误,希望大家平安顺利成学习过程。

憨豆婆的博客 1320

Hexo+Github Page搭建个人博客

前言前两天刚刚搭建好这个博客,想着趁热乎,脑中还记得一些搭建时需要在意的注意点啥的。于是,便有了下文。只是希望能够给以后想自己搭建博客的人一点微不足道的帮助。有什么不对的地方可以留言告诉我。博客搭建准备工作此教程中的博客是在Windows系统下搭建的,git用的是命令行而非图形化处理界面 * git(必需) * node.js (必需) * Github账号(必需) * markdown编辑

Mr_DouDo的博客 612

HexoGithub搭建个人博客(适合小白)

适合小白利用hexo搭建属于个人的博客

2301_76409612的博客 95

hexogithub和coding.net部署并分流(一)

安装GIT和Node.JS 首先在自己的电脑上安装好git和node.js,这一步怎么做自己搜索,安装软件都是下一步下一步,应该不难,GIT安装成后打开git cmd输入 git config --global user.name "Your Name" git config --global user.email "email@example.com" 因为Git是分布式版本控制系统...

ai74583的博客 218

hexo test

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quic...

buglong_的专栏 245

绑定域名到 GitHub Pages

GitHub Pages 绑定来自阿里云的域名 简介 我在阿里云上注册了一个新域名:yuanzb.com,我已经在GitHub Pages上建立了自己的博客:http://yuanzb.github.io/yuanzb/。现在我希望将yuanzb.com映射到http://yuanzb.github.io/yuanzb/。主要参考资料: Setting up

yuan3065的博客 1万+

搭建Hexo博客-第5章-一些我用到的小技巧

搭建Hexo博客-第5章-一些我用到的小技巧

CrystalGabrielle的博客 661

ADAU1761控制IP

包括4个IP,adau1761_controller_1.0为寄存器配置,i2s_receive为音频接收,i2s_transmit为音频发送,axi4_stream_delay用于将接收到音频延时后再发送出去

上一篇: Assembly language-Caesar encryption
下一篇: Cisco Packet Tracer 实验——配置交换机
不周阁
博客等级 码龄5年 46粉丝 8原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值