Forver.微笑

面带微笑未必真的开心,但笑起的那一刻,心中的那些不开心的事已经不重要了~

0%

使用阿里云搭建Hexo博客

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
    nginx的默认配置文件是/etc/nginx/nginx.conf
    nginx配置
    修改红框中的2行
    server_name:如果只是配了DNS解析,尝试过还是不能通过域名访问服务器,这里需要改为域名,才能通过域名访问服务器。
    root:改为要搭建博客的文件目录。

  • 更新配置
    每次修改了conf文件后,需要执行如下命令配置才能生效。

    1
    nginx -s reload

git配置

配置git相关信息后,我们就可以通过ssh的方式,将我们的本地的博客内容同步到服务器上。

  • 安装git

    1
    yum install git
  • 创建git用户

    1
    adduser git
  • 为git用户配置权限

    1
    2
    chmod 740 /etc/sudoers
    vim /etc/sudoers

    在以下内容的下一行

    1
    2
    # Allow 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
    6
    su 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
2
3
yum install nodejs
node -v # 验证node是否安装成功
npm -v # 验证npm是否可用

在国内需要配置一下镜像过和安装cnpm,否则后续安装会因为网络原因,导致npm install操作卡住或者失败。

1
2
3
4
# 配置镜像
npm config set registry https://registry.npm.taobao.org
# 然后安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org

在本地机器搭建hexo博客

hexo的安装和配置

  • 安装hexo
    1
    npm install -g hexo-cli

使用hexo创建博客项目

切到你想创建博客的目录下,比如~/blog

  • 初始化博客项目
1
hexo init
  • 安装相关插件

    1
    2
    npm install hexo-deployer-git --save
    npm install hexo-server --save
  • 启动hexo服务

    1
    hexo g && hexo s

    在浏览器输入http://localhost:4000就可访问到一个使用默认模板lanscapge的博客了。
    如果不喜欢这个主题,可以修改hexo目录下的config.yml,替换喜欢的主题。

  • 新建一篇博文

    1
    2
    hexo new "Hello My First Blog" # 在source/_post生成对应的md文件,就可以编辑博客的内容了
    hexo clean && hexo g

    刷新浏览器,就可以看到更新,增加了一篇博文

配置git信息将博客发布到云服务器

  • 云服务器进行git配置

    1
    2
    3
    4
    su git
    cd ~
    git init --bare blog.git # 建立一个git裸仓
    vim ~/blog.git/hooks/post-receive

    在新建的post-receive文件写入如下内容

    1
    2
    #!/bin/sh
    git --work-tree=nginx设置的root --git-dir=~/blog.git checkout -f

    保存后,赋予文件可执行权限

    1
    chmod +x post-receive
  • 本地机器配置
    在_config.yml中配置

    1
    2
    3
    4
    deploy:
    type: git
    repo: git@公网ip或者你的域名:~/blog.git
    branch: master

    然后执行如下命令

    1
    hexo deploy

    即可将本地编辑好的博客内容同步到服务器上了

参考