搞了半天总算把博客给弄好了,域名备案因为过期了所以暂时只能用IP访问了,http://120.55.164.9/,分享一下搭建环境的过程。

博客选型

搭建博客首先肯定考虑选择哪个开源的软件了,看了一下其他大佬的分享和网上的文章,最终确定了docsifyhalo

docsify好处就在于干净、简单,比较符合我的要求,但是考虑到后面维护可能会交给不懂技术的朋友,所以最终还是选择了halo了。

halo的话模板比较多,搞起来也比较快,还带个后台管理系统,可以说只要搭建起来有手就行,后面就不需要我自己去操心了。

看下搭建好的页面,随便搞个模板整一下看起来还不错的样子。

搭建过程

说实话我不太喜欢搞github pages那些东西,整个服务器也花不了几个钱,自己没事上去还能玩一玩,主要还是喜欢这种能自己控制的感觉。

服务器和域名

首先,服务器阿里云刚好在搞活动,然后用朋友没买过阿里云服务器的弄个小号,绑定我自己的代理推广账户,最后买了个2C2G+3M带宽的3年才花了800,然后代理还给我自己返利了180,还是很可以的,如果你有买服务器的需求我也可以帮一帮你,我觉得这样操作很稳。

域名的话注册,aixiaoxian.vip,3年100块,建议第一次多买几年会便宜很多,续费的话会比较贵。

备案阿里云都可以很快速的搞定,现在域名备案改版后还是比之前好用多了,之前还要阿里云给你快递幕布,然后手持身份证拍照上传。。。现在方便多了,5分钟搞定。

halo环境搭建

我们按照官网的环境部署方式傻瓜式一步步做就好了:https://docs.halo.run/install/docker,还是简单贴一下过程,为什么选择docker方式呢,我想可能3年后我还得去搞个新号再白嫖3年服务器,要是不用docker迁移可能会挺麻烦的。

因为我不用H2哈,还是选择Mysql,知根知底用起来方便点,所以搭建的过程会有点不同,如果对docker不太熟悉的同学搞起来还是有点不太顺利的,因为官网它也没有告诉你用Mysql到底要怎么搞,怎么配置。

  1. 跟着官网走,创建工作目录

mkdir ~/.halo && cd ~/.halo
  1. 下载配置文件,这里我们等会儿要修改的

wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
  1. 修改配置文件,我把修改好的贴出来,关于H2的部分我们要全部注释掉,Mysql的URL填写方式要注意修改,这里不能写127.0.0.1,要填写待会儿我们安装docker mysql的名字才行,如果这里没有配置正确的话,肯定会报错的。

server:port: 8090# Response data gzip.compression:enabled: false
spring:datasource:# H2 database configuration.# driver-class-name: org.h2.Driver#url: jdbc:h2:file:~/.halo/db/halo#username: admin#password: 123456# MySQL database configuration.driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://blog_mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: rootpassword: aixuan123# H2 database console configuration.#  h2:#  console:#    settings:#      web-allow-others: false#    path: /h2-console#    enabled: falsehalo:# Your admin client path is https://your-domain/{admin-path}admin-path: admin
  1. 然后我们先安装mysql,不带版本号安装最新版本就好了,就用8.0的版本。

docker pull mysql
  1. 接着创建镜像,启动,因为我服务器自己装了一个mysql,所以端口做个映射。

docker run --name blog_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123123 -d mysql
  1. 接着,我们进入容器按照官方文档要求去创建halo的数据库,因为不会自动创建,创建好数据库之后会自动帮我们创建好表,为了方便我们外网访问,还是顺便把访问权限一并干了,因为mysql8之后授权方式有点不一样,还是用创建新用户的方式。

# 进入容器
docker exec -it blog_mysql /bin/bash
# 登录mysql,创建数据库
mysql -u root -p
create database halodb character set utf8mb4 collate utf8mb4_bin;
# 切换数据库
use mysql;
# 创建用户设置密码
CREATE USER 'blog'@'%' IDENTIFIED BY '123123';
# 修改加密方式,不然可能有些客户端不支持会报错
ALTER USER 'blog'@'%' IDENTIFIED WITH mysql_native_password BY '123123';
# 授权
grant all on *.* to 'blog'@'%';
  1. 去拉取halo镜像,然后创建容器、启动,注意这里关联到我们的mysql

#拉取halo镜像
docker pull halohub/halo
# 关联mysql启动
docker run -itd --name halo --link blog_mysql -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo
  1. 这样实际也可以用了,但是我们肯定不会用8090的端口了,所以我们还需要接着安装nginx,配置的话就按照官方给出的配置就好了。

# 安装Ngnix
sudo yum install -y nginx
# 设置开机启动
sudo systemctl enable nginx
# 启动
sudo systemctl start nginx
# 修改nginx反向代理配置
vim /etc/nginx/nginx.conf

流程到这里就差不多结束了,然后我们访问http://120.55.164.9/,按照步骤安装完成,就看到了文章开头的博客地址了,输入http://120.55.164.9/admin 就可以进管理后台了,导入我们之前写好的文章只需要通过系统-小工具-Markdown导入即可,很方便!

对于那些没有用过阿里云或者其他云产品的人来说,可能经常会有一个问题就是明明都OK为什么都访问不了呢?因为要设置安全组出入规则,要把你的端口都配置进去才行。

好了,简单的搭建教程就到这里结束了,说起来好像几句话的功夫,其实弄下来一天功夫还是要的,别说我还摸索了下这个皮肤能不能修改下字体,我对这个字体不太满意,改完发现问题挺多还是先放弃了。

要买服务器,域名备案,然后安装,文章导入,导入之后还得加个标签啊什么的,简单设置下页面,主题要配置,挺麻烦的,回头再搞个域名搞一个docsify自己玩。

上线了上线了,我的博客上线了!相关推荐

  1. LDC个人技术博客上线

    LDC博客 个人技术博客 个人博客上线,预览更流畅 点击前往

  2. 微软拼音输入法团队博客上线

    微软拼音输入法团队博客从今天起正式上线. 我们希望这个博客能够成为一个连接您与微软拼音输入法产品组的桥梁: 与微软拼音输入法相关的信息可以及时.快速地发布在这个博客上. 您可以通过添加评论将您的意见提 ...

  3. 【网站搭建】搭建独立域名博客 -- 独立域名博客上线了 www.hanshuliang.com

    博客是安装在阿里云的服务器上. 小结 : -- 进入数据库命令 :mysql -uroot -p123456 ; -- 检查nginx配置语法 :.../nginx/sbin/nginx -t; -- ...

  4. 时隔多日,旧域名重用,niceyoo博客上线

    前言 从昨天我的年算过完了,亲戚同学也走过来了,实在是觉得无聊,所以就开始在论坛呀.博客呀什么的乱逛,突然记起来博客好久没写了,不过并没着急写文章. 而是决定搭建一个域名博客,也算是一个激励自己学习的 ...

  5. 从编写到上线带你搞定springboot博客01

    SpringBoot开发一个小而美的个人博客视频地址 可以学到的: 1)后端:springboot相关知识(各种注解.实体类生成表.条件查询.框架轮廓等).idea使用及查找bug 2)前端:webs ...

  6. 我的个人博客上线啦~

    链接 https://chenzhangchi.com 说明 CSDN的博客界面一直不好看,所以一直想着换掉.最近刚搭建了个人博客,基于Hexo+Github,这是我记录的搭建过程,点击跳转.

  7. 个人博客上线了!!!(官宣

    我的博客:http://nuoyanli.com/ 我的第一篇博客:http://nuoyanli.com/contest_hdu_multi-university-training-contest- ...

  8. 从编写到上线带你搞定springboot博客之编辑博客时新增标签02

    1 首先,设置断点追寻在哪可以找到新增的标签 2 发现如下报错:java.lang.NumberFormatException 3 再次设置断点,捕捉数据 4 发现数据位置 5 变更代码 存在问题:新 ...

  9. GitHub博客开发上线实战

    文章目录 1. git代码管理工具 1.1 git简介 1.2 git的下载与安装 1.2.1 MAC电脑 1.2.2 Windows系统 1.3 如何开始使用git 1.4 git常用命令介绍 1. ...

最新文章

  1. Select2 的简单使用
  2. 如何轻松应对DNS劫持
  3. SlidingMenu(一)
  4. Kubernetes的yaml文件中的command使用
  5. 忘记番石榴:5个Google库Java开发人员应该知道的
  6. npm git 遇到的问题解决笔记
  7. PHP匿名在线聊天室系统源码 自适应PC+WAP端
  8. java 惊群效应,eureka的惊群效应
  9. 基于Vue2.x的小米商城移动端项目
  10. 如何使用云效看板,让需求持续快速地流动和交付...
  11. GCC和C99标准中inline
  12. CnPack IDE 专家包,delphi程序开发的好助手
  13. 短信验证码平台应该怎么选择?
  14. 稻盛和夫《调动员工积极性的七个关键》读书笔记
  15. linux版本qq,QQLinux版本下载-QQ最新版本下载v2.0.0
  16. cocos2d-之音乐背景播放
  17. 电脑出现白屏怎么办(软件有的能打开,就是一开机就出现白屏)(亲测有效)
  18. AGA8压缩因子算法C语言
  19. 激光打印机维护保养完全手册
  20. 剧中人的2018年终总结

热门文章

  1. 一张图就明白什么是上拉电阻与下拉电阻
  2. 学生信息管理系统—优化错误篇
  3. 学计算机山西学校哪里好,山西太原计算机应用学校哪个好
  4. Android:看完这篇文章,我终于理解了漫游是怎么回事
  5. BN(Batch Normalization) 原理与使用过程详解
  6. vuepress中双大括号转义问题
  7. Android打开微信本地数据库详细步骤二
  8. Servlet的生命周期及调用方法
  9. ♀爱到最后拼的不过一个贱字。
  10. 空字符串(“”)和null和空格字符串( )的区别