分享

上线了上线了,我的博客上线了!

 艾小仙 2022-07-13 发布于上海

博客选型

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

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

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

搭建过程

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

服务器和域名

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

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

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

halo环境搭建

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

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

  1. 跟着官网走,创建工作目录
mkdir ~/.halo && cd ~/.halo
  1. 下载配置文件,这里我们等会儿要修改的
wget https://dl./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.Driver
    url: jdbc:mysql://blog_mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: aixuan123

  # H2 database console configuration.
  #  h2:
  #  console:
  #    settings:
  #      web-allow-others: false
  #    path: /h2-console
  #    enabled: false

halo:

  # 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自己玩。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多