文章目录
前言
时隔一年,再一次搭建博客,大一的时候根本看不懂,只会跟着网上的大佬搭建。
如今我大概也能搞下来了~(除了git hooks还没掌握)
搭建在本地的博客,只能自己、局域网内的人能访问,好的blog不能拿去显摆,就很难受,影响我们写博客的心情。
搭建在云服务器上的博客,就可以公开出去了~
当然
开始
前提
- .云服务器一台(Ubuntu 20.04为例)
- 一双手
流程
本地端
- 安装Node.js(自带npm)
- 安装hexo、
- 安装git
- 安装hexo-deployer-git
服务器端
- 安装Node.js
- 安装git
- 安装apache
原理简介
知其然,知其所以然。
对于第一次尝试的人来说,这是个挺晕的过程,但我更喜欢授人以渔,不喜欢的可以跳过。
Node.js
这是个来解析你的hexo网页的,平时看到的网页是.html,但是你后面会发现hexo里根本没用.html文件。
hexo
这是你的博客框架,布置好了一个博客网页的外壳,里面的内容就是你的博客,需要自己发表进去。
hexo-deployer-git
这是一键部署插件,不用自己写脚本或者手动输入git命令更新仓库。
git
专业名叫"分布式版本控制系统",这里拿来控制管理我们的博客的发表、更新。
apache2
web服务器,就是用来承载和运转我们的博客网站,可以不用它,但是Nodejs动态解析好像有点慢。
我们需要搭建两个环境,一个本地的拿来现场开发我们的博客,另一个服务端来发布我们的博客。写好了后把本地的发布到服务器就可以更新了。
安装
本地端(Windows)
Node.js
那必定官网下载,LTS是稳定版,Curent是最新版,我喜欢用新的,你随意。
这个安装没什么好操作的,除了选个合适路径,其他无脑Next到底就行。
打开cmd
node -v
npm -v
看下安装成功了不。
安装git
下载并启动安装程序,除了安装路径,无脑点到底。
安装hexo
教程按着官网来,挨个输入命令,但是hexo init blog是在当前路径创建blog文件夹,你选个喜欢的位置就行。
有的人会出现hexo命令找不到的情况,这是因为环境变量没有自动帮你配置好(自己百度吧,很好解决)。
浏览器输入http://localhost:4000就可以看到了。
安装 hexo-deployer-git
就是个插件,不用多想,无脑输入命令。
npm install hexo-deployer-git --save
至此本地端已经完成了,想写博客的可以先试下,hexo new 文章名,
可以看到保存的路径,自己进去写,要用MarkdownPad,自己百度下载。
服务器端
为了防止没讲到位,我把阿里云服务器重装了一下,对于一个喜欢折腾的人来说,这都是不算问题。
安装git
有Y就选Y
apt update
apt install git
安装apache2
apt install apache2
查看下安装是否成功 :
git --version
apache2 -v
部署
服务器端
开启端口
安全组
安全组是厂家给你提供的一层额外防护,这里我省事就全开了,TCP就够了。
防火墙
防火墙是系统自带的。
这里为了省事,我也全开了:
(这是危险操作,不果我不怕~)
ufw enable
ufw allow 1:65535/tcp
ufw alloe 1:65535/udp
ufw reload
ufw status
用户
一个谨慎的人,不应该拿root来跑你的用户程序。
所以先创建一个普通用户guest:
useradd guest
passwd guest
输入密码
usermod -d /home/guest guest
usermod -s /bin/bash guest
然后切换到root模式来创建guest工作目录:
su
root模式下:
mkdir /home/guest
chown guest:guest /home/guest
git
guest模式下:
初始化空仓库
cd ~
git init --bare blog.git
vim blog.git/hooks/post-receive
输入
#!/bin/bash
git --work-tree=/var/www/blog --git-dir=/home/guest/blog.git checkout -f
guest可读可写可执行
chmod -R 755 /home/guest/blog.git
apache2
apache2默认配置文件在/etc/apche2文件夹下
sites-enabled是站点配置文件夹,每个网站都有。
ports.conf是监听端口.
root模式下:
cp /etc/apache2/sites-enabled/000* /etc/apache2/sites-enabled/blog.conf
vim /etc/apache2/sites-enabled/000*
把初始站点换个端口,80我们自己用.
vim /etc/apache2/sites-enabled/blog.conf
这里把网站路径改下
重启apache2
systemctl restart apache2
创建博客站点文件夹
mkdir /var/www/blog
chown guest:guest /var/www/blog
本地端
进入你的blog目录改_config.yml文件
下面的几行改了。XX.XX.XX.XX是你的服务器公网IP。
运行
本机运行cmd
hexo g && hexo d
输入你的服务器IP,就成功了~
补充
换主题的还要再装个插件
npm i hexo-renderer-swig