hexo博客搭建,看这篇就够了

博客地址:http://vultrace.cn,域名还在审批,就先用IP凑活凑活吧。
使用hexo框架搭建博客,网上已经有非常详细的文章,不过搭建的过程中还是遇到了一些问题和收获,觉得还是有必要记录以下,以方便大家参考。
参考文章:
hexo从零开始到搭建完整
Hexo搭建-部署服务器


服务器配置

在进行博客搭建时,使用的是阿里云的ECS,系统是阿里云定制的Linux系统,实际上就是CentOS。

nginx安装及配置

直接使用yum命令安装nginx服务器,并启动服务。

// 安装nginx
yum install -y nginx
// 启动nginx服务
systemctl start nginx
systemctl enable nginx

由于这台机器专门用于运行博客的,因此在进行nginx配置时,我的做法比较简单粗暴,直接更改/etc/nginx/nginx.conf文件的server,将root更改为博客的存放目录。

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /home/www/website;

    # 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 {
    }
}

创建上面定义的博客的存放目录。

cd /home
mkdir www
cd /www
mkdir website

node环境安装

如果直接使用yum源安装node版本会比较老,印象中好像是6.几,直接下载编译好的源码进行安装: node下载地址,下载Linux Binaries (x64),由于使用WGET下载速度非常慢,建议在本地下载,然后通过DMS进行传输。

// 解压
xz -d node-vxxx-linux-x64.tar.xz
tar -xf node-vxxx-linux-x64.tar.xz
// 建立软链接
ln -s /opt/node-vxxx-linux-x64/bin/node /usr/bin/node
ln -s /opt/node-vxxx-linux-x64/bin/npm /usr/bin/npm
// 测试
node -v
npm -v

安装GIT并配置仓库

// 安装GIT
yum install git
// 配置GIT用户
adduser git
// 修改用户权限
chmod 740 /etc/sudoers
vi /etc/sudoers

然后在root ALL=(ALL) ALL用户的下方添加git ALL=(ALL) ALL,保存并退出。
将sudoers文件权限改回chmod 400 /etc/sudoers,并设置git用户的密码sudo passwd git
切换到git用户,然后在~目录下创建.ssh文件夹。

su git
cd ~
mkdir .ssh
cd .ssh

生成公钥密钥文件,啥都不要输入,直接enter就行,并复制id_rsa.pub公钥文件.

ssh-keygen
cp id_rsa.pub authorized_keys

修改权限并测试ssh连接功能。

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
// 本地测试
ssh -v git@xx.xx.xx.xx

创建一个git的仓库,并且新建一个post-receive文件,操作如下:

cd ~
git init --bare blog.git
vi ~/blog.git/hooks/post-receive

输入以下内容,保存退出并授予该文件可执行权限。

git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f
chmod +x ~/blog.git/hooks/post-receive

错误提醒

完成以上配置后,在进行部署时,经常会出现如下错误。

remote: fatal: cannot create directory at '2019': Permission denied

并且部署目录/home/www/varcn/里并没有推送的文件,出现这个问题可能是你的部署目录/home/www/varcn/ 没有写权限导致的,添加写权限只能就可以了。

cd /home/www
chmod go+w website

本地环境配置

nodejs安装

本机环境为Mac,直接下载相关安装包进行安装,使用如下两个命令校验是否安装成功。

$ node -v
v14.3.0
$ npm -v
6.14.5

安装hexo

使用命令npm install hexo-cli -g安装hexo,使用hexo -v测试是否安装成功。

$ hexo -v
hexo: 4.2.1
hexo-cli: 3.1.0
os: Darwin 19.4.0 darwin x64
node: 14.3.0
v8: 8.1.307.31-node.33
uv: 1.37.0
zlib: 1.2.11
brotli: 1.0.7
ares: 1.16.0
modules: 83
nghttp2: 1.40.0
napi: 6
llhttp: 2.0.4
openssl: 1.1.1g
cldr: 37.0
icu: 67.1
tz: 2019c
unicode: 13.0

初始化博客

创建一个空文件夹用于存放博客的相关代码,cd进入该文件夹,使用hexo init初始化博客项目,博客项目包含以下几个文件。

  • node_modules:是依赖包
  • public:存放的是生成的页面
  • scaffolds:命令生成文章等的模板
  • source:用命令创建的各种文章
  • themes:主题
  • _config.yml:整个博客的配置
  • db.json:source解析所得到的
  • package.json:项目所需模块项目的配置信息

使用hexo server命令运行博客,打开浏览器访问 http://localhost:4000 就能够看到博客运行的效果了。但是初始的博客其实非常简陋,需要配置相关的主题来让整个博客更加丰满。

主题配置

hexo包含非常丰富的主题,可以访问相关themes来选择自己喜欢的主题,我这里选择的是我个人比较喜欢的一个主题:snail
进入上一步初始化完成后的博客目录,执行以下操作。

$ cd blog
$ rm -rf source
$ rm -rf scaffolds
$ rm _config.yml package.json README.md LICENSE
$ git clone https://github.com/dusign/hexo-theme-snail.git
$ mv ./hexo-theme-snail/snail ./themes
$ mv ./hexo-theme-snail/* ./
$ npm install

为方便博客字数的统计,需要安装WordCount。

npm install hexo-wordcount --save

在_config.yml文件中将theme更改该snail,默认情况下应该是已经更改好了。

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: snail
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值