Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。本文讲解了如何从0开始在阿里云服务器上搭建一个Hexo博客。
前提条件
傻瓜式购买不深入讲了,本文只讲如何配置。如果只是搭建个人博客,每年百元以下的云服务器就够用了。
阿里云服务器配置
云服务器配置
购买服务器后,点击控制台左侧产品与服务
下的云服务器ECS
。依次配置:
安全组规则
依次点击网络与安全
->安全组
->创建安全组
,增加一条安全组规则。
添加完后,点击配置规则
->添加安全组规则
,增加80端口的准入规则。
如果不设置安全组,后续会无法访问到云服务器。获取公网IP信息
回云服务器ECS
可以看到我的资源下
已有一条实例记录,点进去可以看到一些服务器信息。
需要关注的是配置信息
下的公网IP
,记录下来,后续会用到。
域名解析配置
点击控制台左侧产品与服务
下的云解析DNS
->添加域名
,将已有域名填入,点击确定
按钮。
列表会出现一行域名的相关信息,找到解析设置
点击进入新页面,点击添加记录
。弹出下面的对话框:
TTL:默认即可
记录值:即之前记录的公网IP
。
主机记录:一共需要添加2条解析记录,一条填入@
,一条填入www
。 分别配置了域名有www和无www的DNS解析。
点击确定
。
服务器基础环境搭建
我的服务器选择的是CentOs系统。通过远程连接或VCN进入服务器后可以开始进行一些服务器基础环境搭建。
nginx安装和配置
完成这一步配置的目的是能够在浏览器使用公网IP或者使用域名访问我们的服务器。
安装和启动
1
2
3
4
5安装nginx
yum install -y nginx
启动nginx
systemctl start nginx
systemctl enable nginx在自己的电脑浏览器里输入
公网IP
(在服务器的控制台可以查到)即可看到nginx的默认页面,如下图所示配置nginx
nginx的默认配置文件是/etc/nginx/nginx.conf
修改红框中的2行server_name
:如果只是配了DNS解析,尝试过还是不能通过域名访问服务器,这里需要改为域名,才能通过域名访问服务器。root
:改为要搭建博客的文件目录。更新配置
每次修改了conf文件后,需要执行如下命令配置才能生效。1
nginx -s reload
git配置
配置git相关信息后,我们就可以通过ssh的方式,将我们的本地的博客内容同步到服务器上。
安装git
1
yum install git
创建git用户
1
adduser git
为git用户配置权限
1
2chmod 740 /etc/sudoers
vim /etc/sudoers在以下内容的下一行
1
2Allow root to run any commands anywhere
root ALL=(ALL) ALL增加内容
1
git ALL=(ALL) ALL
改回权限
1
chmod 400 /etc/sudoers
为git用户设置密码
1
sudo passwd git
切到git用户配置ssh访问
1
2
3
4
5
6su git
mkdir ~/.ssh
rcp 将本地的文件copy到云服务器上的文件夹
此时ssh还没配置完成,每次本地机器访问云服务器都会需要输入用户的密码
scp -r ~/.ssh/id_rsa.pub git@公网ip或者你的域名:~/.ssh/
cat ~/.ssh/id_rsa.pub | > ~/.ssh/authorized_keys设置好ssh后,输入如下命令
1
ssh -v git@公网ip或者你的域名
可以直接在本地终端操作云服务器了,无需每次打开阿里云的页面一层层点开操作了。而且只要输入过一次密码,就不需要每次都输入密码了。
安装nodejs
1 | yum install nodejs |
在国内需要配置一下镜像过和安装cnpm,否则后续安装会因为网络原因,导致npm install
操作卡住或者失败。
1 | 配置镜像 |
在本地机器搭建hexo博客
hexo的安装和配置
- 安装hexo
1
npm install -g hexo-cli
使用hexo创建博客项目
切到你想创建博客的目录下,比如~/blog
。
- 初始化博客项目
1 | hexo init |
安装相关插件
1
2npm install hexo-deployer-git --save
npm install hexo-server --save启动hexo服务
1
hexo g && hexo s
在浏览器输入
http://localhost:4000
就可访问到一个使用默认模板lanscapge的博客了。
如果不喜欢这个主题,可以修改hexo目录下的config.yml,替换喜欢的主题。新建一篇博文
1
2hexo new "Hello My First Blog" # 在source/_post生成对应的md文件,就可以编辑博客的内容了
hexo clean && hexo g刷新浏览器,就可以看到更新,增加了一篇博文
配置git信息将博客发布到云服务器
对
云服务器
进行git配置1
2
3
4su git
cd ~
git init --bare blog.git # 建立一个git裸仓
vim ~/blog.git/hooks/post-receive在新建的post-receive文件写入如下内容
1
2
git --work-tree=nginx设置的root --git-dir=~/blog.git checkout -f保存后,赋予文件可执行权限
1
chmod +x post-receive
本地机器配置
在_config.yml中配置1
2
3
4deploy:
type: git
repo: git@公网ip或者你的域名:~/blog.git
branch: master然后执行如下命令
1
hexo deploy
即可将本地编辑好的博客内容同步到服务器上了