CasperG's Blog

Some People choose to see the ugliness in the world, the disarray. I choose to see the beauty.

用Hexo搭建个人博客


[TOC]

系统版本:CentOS 7 (CentOS Linux release 7.8.2003 (Core))

安装Hexo

一、必备环境搭建及Hexo安装
  1. 安装node.js和git

    1
    2
    yum -y install git
    yum -y install nodejs
  2. 查看node和npm版本

    node -v

    npm -v

    如果npm不是最新版本,请更新,否则hexo安装时会报错。

    img

  3. 更新npm

    1
    2
    3
    4
    5
    6
    npm uninstall npm -g #卸载旧版本npm
    mkdir npm #创建存放npm的目录
    cd npm
    wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz #下载最新版npm
    tar -xvf node-v10.14.1-linux-x64.tar.gz #解压
    mv node-v10.14.1-linux-x64 node

    添加环境变量:

    1
    2
    3
    4
    vim /etc/profile
    -----------加入以下内容
    export NODE_HOME=/usr/local/node
    export PATH=$NODE_HOME/bin:$PATH

    刷新 source /etc/profile

  4. 安装hexo

    本文使用npm进行安装:

    npm install -g hexo-cli

    安装完成后,要配置相关环境变量:

    echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile

    至此,hexo就安装完成啦!XD

二、Hexo基本配置

我们需要对Hexo进行最基本的配置以方便以后的使用

  1. 创建Hexo项目

    1
    2
    3
    $ hexo init <folder>
    $ cd <folder>
    $ npm install

    创建完成后,我们可以看一下Hexo项目的文件目录结构:

    1
    2
    3
    4
    5
    6
    7
    8
    .
    ├── _config.yml
    ├── package.json
    ├── scaffolds
    ├── source
    | ├── _drafts
    | └── _posts
    └── themes

    各文件功能:

    1
    2
    3
    4
    5
    6
    _config.yml	hexo配置文件(基本上所有配置都围绕这个文件)
    scaffold 存放模板
    source 推文的源文件
    _drafts 草稿源
    _posts post源
    themes 主题文件夹
  2. 配置 _config.yml

    keys

    主要更改author、subtitle等项。

三、Hexo的基本操作
  1. 创建post

    hexo new a (a为推文的名称)

    本操作会让hexo在source/_posts下创建a.md文件。(post将直接发布在网站上)

  2. 创建draft

    hexo new draft b (b为draft的内容)

    本操作会创建一个draft,即在source/_drafts下创建b.md(draft不会显示在网站上)

  3. 发布

    hexo publish

    本操作会发布所有的draft,即将source/_drafts下的.md文件转移至source/_posts。

  4. 生成静态网页

    hexo generate | hexo generate --watch

    本操作会将所有posts生成为html文件,保存在./public中。

  5. 清除缓存

    有时(更换主题后)需要清空所有public中的内容,此时需要使用hexo clean

    清空后要重新generate以生成最新的静态页面。

四、将public目录部署nginx

具体参考:如何部署nginx

至此,我们的博客就搭建完成啦!XD


参考链接:

Documentation | Hexo

centos安装pm2出现问题 哈利路亚啊啊啊 - 博客园 (cnblogs.com)

本md记录了一次从零配置nginx服务并配置ssl证书的经历


[TOC]

系统版本:CentOS 7 (CentOS Linux release 7.8.2003 (Core))

一、安装nginx
1
yum -y install nginx

安装成功后别忘了开启服务:

1
2
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
二、配置nginx

首先,我们需要确定我们网站的根目录,如:/home/wwwroot/www.gurh16.top

之后,找到并修改/etc/nginx/nginx.conf 。

可能用到的文件搜索命令:

1
sudo find -name nginx

在nginx.conf中,”#”代表注释,最重要的是server{}块这部分。每个server{}就代表每一个web站点;listen后为监听端口,一般http为80,https为443;server_name为域名;location后为网站根目录的绝对路径。

img

1
2
3
4
5
listen 80;代表监听80端口
server_name xxx.com;代表外网访问的域名
location / {};代表一个过滤器,/匹配所有请求,我们还可以根据自己的情况定义不同的过滤,比如对静态文件js、css、image制定专属过滤
root html;代表站点根目录
index index.html;代表默认主页

保存,至此我们就完成了最基本的nginx配置!

记得刷新!!!

nginx -s reload

Now, 不妨试试用域名访问一下自己的网站吧!XD

三、获取并配置SSL证书

证书可通过腾讯云获取,第一年免费使用。

获取证书后,我们会得到以下两个文件,一个为证书文件,另一个为key。企业微信截图_16091720908073.png

将两个证书上传至服务器(推荐目录:/etc/ssl 本文中使用的目录:/home/wwwroot/www.gurh16.top/ssl)

修改nginx.conf文件:(监听443端口)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
http{
#http节点中可以添加多个server节点
server{
#监听443端口
listen 443 ssl;
#对应的域名,把baofeidyz.com改成你们自己的域名就可以了
server_name baofeidyz.com;
#从腾讯云获取到的第一个文件的全路径
ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt;
#从腾讯云获取到的第二个文件的全路径
ssl_certificate_key /etc/ssl/2_baofeidyz.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。
location / {
#文件夹
root /home/wwwroot/www.gurh16.top;
#主页文件
index index.html;
}
}
server{
listen 80;
server_name www.gurh16.top;
rewrite ^/(.*)$ https://www.gurh16.top:443/$1 permanent;
} #重定向链接
}

刷新!!!

nginx -s reload

大功告成!现在你的网站可以用https访问啦!


参考链接:

Nginx Linux详细安装部署教程 - taiyonghai - 博客园 (cnblogs.com)

Nginx配置SSL证书 - 别动我的猫 - 博客园 (cnblogs.com)