扯闲篇 O(∩_∩)O 哈哈~
每个文章的原创都有他本人的辛酸历程,我也不例外。从这周一开始接触 Hexo 博客模板,就被这个都是动态文件的框架吸引。当初咱们学 java 时候,还在(** 脏话~~)各种 jsp,在起初随着 springboot 的风行开始写起了 thymeleaf,过后感觉写起来太 B 了。18 年开始正式接触 MVVM 框架后,感觉本人在写 html 几乎就是太 low 了。
上周接到腾讯云备案客户的小哥哥告诉,备案的域名审核不通过,没有增加备案链接信息,限时整改。ε=(´ο`*))) 唉,茫然啊。之前本人倒是做个好几个零碎,有给敌人做的,有本人练手的,大大小小好几个,都须要后盾各种部署,包含 redis、mysql 等等。想想本人的 1G2H 的小小服务器,太折腾了。
从两三个月之前,开始接触了 spring cloud,20 年 12 月份又接触了 docker 技术,想来本人在应用中的各种坑为啥不记录下来,于是乎想到就开整,搞个博客,正好能够整改备案信息。
于是乎,各种百度“博客”,一眼就相中了 hexo,正好之前有过一些前端教训,就有了这篇爬坑之旅。
<!–more–>
Day01
爬了一整天是想法谬误,之前没接触过博客,认为博客和后端代码一样,既然有各种大神写过 docker 部署,那必定也能在服务器用 docker run 跑。各种百度“dpcler 搭建 hexo”,找到了 N 个 Dockerfile。后果在服务器上一 build,各种跑不起来。
最初想明确了,就 build 一个 hexo 的空白环境吧,于是乎:
Dockerfile
FROM NODE:12.18
RUN npm --registry=https://registry.npm.taobao.org install hexo-cli -g
cd /usr/local/src && docker build -t hexo-blog .
docker images
docker run -it -d -p 4000:4000 -v /var/local/blog:/blog hexo-blog
docker ps -a
docker exec it hexo-blog hexo-blog /bin/bash
hexo init blog
cd /blog
npm install
hexo s
接着在浏览器拜访应用公网 http://81...1:4000,果然看到了 Hello world。冲动啊┭┮﹏┭┮
如果有敌人想应用 docker 跑 hexo 的服务,我倡议就和我的一样初始化个 npm 和 hexo 就行。当然很多大神都写了很多相似:
FROM node:latest
MAINTAINER XueAohui xueaohui_com@163.com
ENV REFRESHED_AT 2017-03-26
VOLUME ["/opt/website"]
RUN npm install -g hexo
RUN hexo init /opt/website
WORKDIR /opt/website
EXPOSE 4000
针对相似下面的配置,有坑的的中央:
- FROM node:latest 有这句话的,大多时候 18 年或者在之前写的文章,有前端教训而且有强制降级症(我有很重大的强迫症)的同学都晓得,降级 node 15(node 的官网有 bate 版)会强制装置 python2.7,具体作用是 npm install 时如果有依赖下载有问题会应用 git clone 源码编译。所以这个坑就是你一旦这么写,那么在 npm install 时候就会发现,各种提醒 python 没有在环境变量。
- RUN hexo init /opt/website 相似这个语句吧,我最信服的就这个,明明我 images 初始化了 hexo 的 blog,然而进入容器就没没有这个目录。可能是我接触 docker 工夫尚短,找不到没有 hexo init blog 执行的起因。
- WORKDIR /opt/website 这个必定是挂在内部卷轴,然而 docker run 时候 -v 也减少了,然而磁盘上就是没有这个目录。
所以最简略也最好用的方法就是手动启动,这样 day01 终于以 4000 的端口启动了。
Day02
一早晨的兴奋无眠,终于来到了第二天,通过 2 个小时的折腾(docker run nginx、域名申请 SSL)好,https//www.xuct.com.cn 的拜访终于 OK 了。写过代码的咱们都晓得,万事 Hello World 吧。
docker exec -it hexo-blog /bin/bash
apt-get update
apt-get install -y vim
cd blog
cd /sorce/_posts/
rm -fr *
cd ../..
hexo new "hello-world"
cd /sorce/_posts
vi hello-world.md
# "hello world"
cd ../..
hexo clean
hexo g
hexo s
对于 linux 应用半吊子的我来说下面操作无奈是苦楚的,还好就是浏览器上拜访域名,还真给力的进去了。然而还想在持续在 hello world 里写点货色,又有进入容器 vi。这时我发现,基本不是这么回事,在 docker 容器里编辑.md 文件,给本人找不畅快。
如是乎:
win + R
cmder
e:
mkdir workspace_blog
cd workspace_blog
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo clean
hexo s
浏览器上拜访 http:localhost:4000,呈现了 hello world。不闲着马上 hexo clean、hexo g,右键压缩 public 文件夹,scp -p 22 public.zip root@81….:/var/www/blog。
浏览器拜访域名果然好使。上面就是各种搜寻开发工具,这里写下我的工具:
- Typora md 的编辑工具
- PicGo 下面工具配套的图片上传工具
- vc code 编辑配置文件
- cmder window 下 cmd 的代替工具
-
xshell
接着就是开始坑的环节,有了 hello world,马上跟着大牛的帖子开始下载皮肤:yilia(小白,只会跟着帖子一步一步操作),下载后马上开始换肤,具体的批改一些配置各位能够自行百度。部署好后发现没有中央写《域名的备案》,搭建博客就是为了这个嘛,马上又开始找到 soruce-src 下,批改 footer.js, 增加
<div class="BeanAn"> <img src="/img/bean.png"/><a href=""> 宁夏 ********</a> </div> <style> .BeanAn { display: flex; text-align: center; } </style>
后果部署后发现款式错乱、图片没有加载、还有个 badjs 报错。特地解体。这个时候曾经下午 7 点多了,我的性情是不弄完不回家,马上百度持续搜“hexo yilia 减少备案“,各种帖子、各种答案。两头的插曲局部就不一一道了,就说最初后果把,找到了一个大神为 yilia 批改的款式:
https://github.com/lete114/hexo-theme-yilia-pro
替换部署后发现款式挺难看,接着各种搭建 github 图床、替换配置等等,最初部署拜访,不错不错(O(∩_∩)O 哈哈~)情绪大好。f12 一看,还是和之前报错一样,badjs 404。给作者提 issues,想让大牛把 badjs report 局部清理掉。可能是本人太菜,大神并没有理睬我,当初这个问题还在:
https://github.com/lete114/hexo-theme-yilia-pro/issues
起初不晓得在哪里点开了一个帖子,说是把编译好的 man.js 外面对于 badjs 上报的清空,这真是山穷水复疑无路柳暗花明又一村,依照大神的提醒搜寻:listen,心凉凉。整个文档就没有这个关键词,那就按 192 搜寻把,上面是把 192 的 function 改后后果:
192:function(e,t,n){},193(特意多粘贴了 193, 为了标识一下地位)
这样,day02 天以换肤、不报错的前提下实现了。
Day 03
明天来到了第三天(也就是明天),轻易点击本人的博客,发现 hello world 外面的评论写完后没有告诉(按大牛主题的配置,在 leancloud 中注册账号),接着搜寻“valine 回复”,果然找到了 valine-admin 的帖子,那有了这个就开始按帖子走着。
我用的是大神修改版,外面的邮件模板新增了,上面是链接,能够 fork 到本人仓库,而后下载后自行批改。
https://github.com/jianhao2010303/Valine-Admin-Server
valine-admin 部署好了,大牛帖子里的唤醒 leancloud 的办法本人在 github 使发现不灵(次要是本人不会用 action),于是乎:
https://github.com/jianhao2010303/watch-leancloud
本人写了个 java 版的定时唤醒,封装在 docker 里,扔到服务器开跑。如果哪位搭档有会用当初 github action 的,麻烦也通知下。
辛酸历程的小总结
到当初为止,博客部署好了,评论治理也配置好了,点点还不错。点了点 Lete 的博客,发现了人家的连贯博客做的很酷,于是乎。。。因为工夫的关系,hexo 搭建博客爬坑之二放到今天把(对于部署导航博客:https://nav.xuct.com.cn、腾讯云 配置 cdn、配置 PigGo 图床等坑)持续实现。
好了,明天的内容就分享到这吧,劳动劳动两天。
2021.01.29 写于公司
本文由博客群发一文多发等经营工具平台 OpenWrite 公布