如何使用Hexo+云服务器搭建自己的博客

Hexo搭建博客原理

hexo简介

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

hexo原理

hexo分为远程服务器 + 本地服务器,在本地编写完.md的博客,直接推到远程服务器上就可以了。

本地服务器需要安装:Git、Node.js、Hexo

云服务器需要安装:Git、Nginx

远程服务器可以为Github或者自己购买的云服务器,如果是Github,可以直接使用Github自带的Pages服务,这里我用的是自己购买的云服务器。

本地安装完hexo有几个关键的文件夹:
在这里插入图片描述

1)source:这里面存放你的.md的博客
2)themes:这里面存放博客的主题文件
3)public:当你在本地编写完博客后,需要发布到远程服务器上,执行相应的hexo命令,就会把source中的内容生成静态文件放在public文件夹下,在public中就是一个个的index.html,里面就是生成的博客内容,推到远程服务器上就能直接查看了

Hexo搭建博客过程

一、购买云服务器

这里我购买的是阿里云服务器:CentOS 7.3 64位 1核 2 GiB 1Mbps (学生价买的比较便宜)

二、本地服务器安装Git、Nodejs

如果本地环境已经安装好的可忽略此步

先在本地环境中安装Git和Nodejs(直接下载安装包,一直下一步到结束就行)

然后生成ssh公钥,在桌面右击,点击Git Bash Here打开命令行终端,执行如下命令(直接按三次回车生成密钥)

ssh-keygen -t rsa

生成的密钥默认放在用户目录的.ssh文件夹中,比如我的就是 C:\用户\xxxx.ssh\id_rsa.pub

三、配置云服务器环境

1)配置Git

安装Git

yum install git

创建Git账户

adduser git

添加账户权限

chmod 740 /etc/sudoers
vim /etc/sudoers

找到以下内容

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL

在该内容下方添加一行

git 	ALL=(ALL)     ALL

然后,按 Esc 键退出编辑模式,输入”:wq” 保存退出

改回权限

chmod 400 /etc/sudoers

设置git账户密码

sudo passwd git

切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
# 然后将win10中生成的id_rsa.pub文件中的公钥复制到authorized_keys
# id_rsa.pub默认放在用户目录的.ssh文件夹中,比如我的就是 C:\用户\xxxx\.ssh\id_rsa.pub
chmod 600 /home/git/.ssh/authorzied_keys
chmod 700 /home/git/.ssh

在本地Git终端中测试是否能免密登录git,其中SERVER为填写自己的云主机IP,执行输入yes后不用密码就说明好了

(我的情况是输入yes后还是让输了密码,但是输入一次后第二次就没让输密码了,以后都不用输入了)

ssh -v git@SERVER

创建目录

#repo作为为Git仓库目录
mkdir /var/repo
chown -R git:git /var/repo
chmod -R 755 /var/repo
#hexo作为网站根目录
mkdir /var/www/hexo
chown -R git:git /var/www/hexo
chmod -R 755 /var/www/hexo

然后创建一个裸的 Git 仓库

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

创建一个新的 Git 钩子,用于自动部署 在 /var/repo/hexoBlog.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive

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

按 i 键进入文件的编辑模式,在该文件中添加两行代码(将下边的代码粘贴进去),指定 Git 的工作树(源代码)和 Git 目录(配置文件等)

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

然后,按 Esc 键退出编辑模式,输入”:wq” 保存退出

修改文件权限,使得其可执行

chown -R git:git /var/repo/hexoBlog.git/hooks/post-receive
chmod +x /var/repo/hexoBlog.git/hooks/post-receive
2)配置Nginx

为了适合小白安装部署和后期网站服务器的扩展性,选用宝塔面板来一键部署Nginx Linux面板6.0安装命令

(暂时仅兼容Centos7.x,其它系统版本请安装5.9稳定版)

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

Linux面板6.0升级专业版(可不用)

curl http://download.bt.cn/install/update6.sh|bash

安装完成后会显示面板后台地址、账号和密码,打开面板后台地址登陆面板,选择Nginx的部署方案,静静等待部署

部署完成后,点击网站-添加站点-输入域名(没有域名的输入自己的IP地址),底部的PHP版本选择“纯静态”(其他不改,或者根据自己的习惯来改),提交

网站创建完成后点击末尾的设置-配置文件,看看下方的内容是否已存在于配置文件中,若不存在则补充

server
{
    listen 80;
	# server_name 填写自己的域名
    server_name ali6.cn blog.ali6.cn;
    index index.php index.html index.htm default.php default.htm default.html;
	# 这里root填写自己的网站根目录,修改为/var/www/hexo
    root /var/www/hexo;
    ……
}

保存

继续点击末尾的设置-网站目录,修改为/var/www/hexo,保存

重启宝塔面板服务

service bt restart

四、本地服务器安装Hexo

个人的本地环境为 Windows10(64位),我安装的目录为D:/blog,建好目录,在该目录下按住Shift右键点击“在此处打开CMD窗口”或者“在此处打开Powershell窗口”,执行如下命令:

npm install hexo-cli -g
hexo init 
npm install hexo server
npm install hexo-deployer-git --save

如果在执行hexo init的时候报错 error:enoent:no such file or,请检查你的blog路径是否包含中文等字符

如果在执行hexo init时报错 Failed to connect to github.com port 443: Timed out或者OpenSSL SSL_read:Connecttion was reset, errno 10054,请参考博客https://blog.youkuaiyun.com/natahew/article/details/81387885(我在公司的电脑会报这个错,但是在个人电脑上不会)

继续在窗口输入以下命令,配置Git用户名和邮箱

(如果本地Git已配置过了可忽略,可输入命令 git config --global user.email 或者 git config --global user.name查看,如果有内容说明已配置过)

#定义邮箱(更换为你的邮箱地址就行)
git config --global user.email "you@example.com"
#定义名称(更换自定义一个名称就行)
git config --global user.name "Your Name"

打开blog文件夹,打开_config.yml, 找到deploy修改为以下

deploy:
  type: git
  #server改为你的服务IP地址或解析后的域名
  repo: git@server:/var/repo/hexoBlog.git
  branch: master

保存

五、运行你的博客

在blog文件夹中,按住Shift右键点击“在此处打开CMD窗口”或者“在此处打开Powershell窗口”,执行如下命令

hexo clean 
hexo g
hexo d

不出错说明完成,但我在执行hexo d的时候总是说权限有问题,如果出现类似问题的话可尝试在云服务器上执行下面命令

chown -R git:git /var/repo/
chown -R git:git /var/www/hexo

现在打开浏览器输入你的域名或者IP地址就可以看到你部署的博客了

常用hexo命令

# 新建博客
hexo new "一篇新文章"
# 生成静态文件(index.html)
hexo g
# 部署到远程服务器上(执行完该命令你服务器上的博客就更新了)
hexo d

参考博客

www.hanyehong.com/如何使用Hexo+云服务器搭建自己的博客

https://blog.youkuaiyun.com/weixin_33907511/article/details/91398208

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值