从0到1搭建Halo博客系统教程

news2024/11/19 23:40:39

前期准备

云服务器,域名,命令工具(这里使用是Mobaxterm)

安装环境

  1. 宝塔面板
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

在命令工具输入这行命令安装宝塔面板,成功后会返回默认登陆地址,用户名及密码。如果忘记或者窗口关闭可在命令工具里输入bt即可查看宝塔面板的信息,例如在这里我们输入14编号:
在这里插入图片描述
在这里插入图片描述
注意这里需要在自己服务器控制台里开启端口号,比如宝塔面板是8080,那咱们就在控制台里开启8080端口,这样地址才能正常访问
在这里插入图片描述
在这里插入图片描述

  1. Mysql,Docker,Nginx
    在登陆宝塔面板之后,点击“软件商店”-“运行环境”
    版本根据自己决定,这里使用的是Mysql8.0,Nginx1.22.1
    在这里插入图片描述
    在这里插入图片描述
    在安装完数据库后,需要创建一个数据库
    在这里插入图片描述

在这里插入图片描述

部署Halo

这里安装玩Docker后,就开始安装Halo(根据官网文档步骤进行)

  1. 新建目录
mkdir ~/halo && cd ~/halo
  1. 配置yaml文件
    在这里插入图片描述
    不会命令创建文件可以在宝塔面板操作,‘文件’-‘root’-‘halo’里创建docker-compose.yaml文件。双击编辑将下方配置信息粘贴进去即可
version: "3"

services:
  halo:
    image: halohub/halo:2.9
    container_name: halo
    restart: on-failure:3
    network_mode: "host"
    volumes:
      - ./:/root/.halo2
    command:
      # 修改为自己已有的 MySQL 配置
      - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo
      - --spring.r2dbc.username=root
      - --spring.r2dbc.password=
      - --spring.sql.init.platform=mysql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
      # 端口号 默认8090
      - --server.port=8090

说明
spring.r2dbc.url: 数据库连接地址(这里默认mysql,3306端口)
spring.r2dbc.username :数据库用户名(上面步骤创建数据库的用户名)
spring.r2dbc.password:数据库密码(上面步骤创建数据库的用户名)
spring.sql.init.platform: 数据库平台名(默认mysql)
halo.external-url :外部访问链接(可以填公网/域名)
注意
需要在控制台开放3306端口

  1. 拉取镜像并启动
docker-compose up -d

成功后,在地址栏输入你自己的服务器公网ip:8090+/console即可进入后台,例如192.168.1.1:8090/console
这里需要开启8090端口,不然进不去。
进入初始化后台,填入自己站点名称及设置登陆后台用户名和密码,设置好后登陆就可以进入后台。
在这里插入图片描述

这样子,Halo博客就搭建好啦~
在这里插入图片描述
可在官网的应用市场里安装其他主题
在这里插入图片描述
在这里插入图片描述
点击下载,输入自己后台的地址即可跳转至你自己的后台进行安装新的主题
在这里插入图片描述

这样子我们安装的主题就安装了,还有很多插件主题,大家可以可行体验~

在这里插入图片描述

配置域名访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

    location / {
      proxy_pass http://127.0.0.1:8090/;
      proxy_set_header HOST $host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

在添加站点后,点击设置-点击配置文件将上方代码放在里面即可,proxy_pass 代理本地端口这里是8090端口

总结

体验地址:点击跳转
云服务器控制台开放数据库3306端口,宝塔面板默认8888端口,Halo默认8090端口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1017682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机视觉】Image Generation Models算法介绍合集

文章目录 一、Diffusion二、Guided Language to Image Diffusion for Generation and Editing(GLIDE)三、classifier-guidance四、Blended Diffusion五、DALLE 2六、AltDiffusion七、Group Decreasing Network八、Make-A-Scene九、Iterative Inpainting十…

c++ - 抽象类 和 使用多态当中一些注意事项

抽象类 纯虚函数 在虚函数的后面写上 0 ,则这个函数为纯虚函数。 class A { public:virtual void func() 0; }; 纯虚函数不需要写函数的定义,他有类似声明一样的结构。 抽象类概念 我们把具有纯虚函数的类,叫做抽象类。 所谓抽象就是&a…

docker gitlab+jenkins搭建

一:gitlab搭建: 1:docker部署 2:修改root密码 3:创建普通账户 4:设置sshken 二:jenkins搭建 配置脚本 bash -x /var/jenkins_home/shell/game01.sh

图解数据结构

🌞欢迎来到数据结构的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 📆首发时间:🌹2023年9月17日&…

【探索Linux】—— 强大的命令行工具 P.8(进程地址空间)

阅读导航 前言一、内存空间分布二、什么是进程地址空间1. 概念2. 进程地址空间的组成 三、进程地址空间的设计原理1. 基本原理2. 虚拟地址空间 概念 大小和范围 作用 虚拟地址空间的优点 3. 页表 四、为什么要有地址空间五、总结温馨提示 前言 前面我们讲了C语言的基础知识&am…

性能测试-性能调优主要方向和原则(15)

性能调优主要方向明确性能瓶颈之后,就需要进行性能调优了,调优主要从图所示的多个方向入手。能优化手段并不一定是独立应用的,在一次优化过程中很可能应用了多种优化技巧。 硬件层面优化 硬件层面优化更偏向于监控,当定位到硬件资源成为瓶颈后,更多是采用扩容等手段来解决…

代码随想录算法训练营第三十六天| 435. 无重叠区间 763.划分字母区间 56. 合并区间

今天的三道题目,都算是 重叠区间 问题,大家可以好好感受一下。 都属于那种看起来好复杂,但一看贪心解法,惊呼:这么巧妙! 还是属于那种,做过了也就会了,没做过就很难想出来。 不过大…

synchronized实战:synchronized 锁升级过程

下面程序通过对加锁前后Object对象字节码的打印验证了对象由无锁到偏向锁的过程。 public class T01 {public static void main(String[] args) {Object o new Object();System.out.println(ClassLayout.parseInstance(o).toPrintable());o.hashCode();System.out.println(Cl…

Linux界的老古董

Slackware 是由 Patrick Volkerding 制作的 Linux 发行版,从 1993 年发布至今也一直在 Patrick 带领下进行维护。7 月 17 日,Slackware 才刚刚过完它 24 岁的生日,看似年纪轻轻的它,已然是 Linux 最古老的发行版。 Slackware 的发…

laravel框架 - 安装初步使用学习 composer安装

一、什么是laravel框架 Laravel框架可以开发各种不同类型的项目,内容管理系统(Content Management System,CMS)是一种比较典型的项目,常见的网站类型(如门户、新闻、博客、文章等)都可以利用CM…

【Linux学习笔记】权限

1. 普通用户和root用户权限之间的切换2. 权限的三个w2.1. 什么是权限(what)2.1.1. 用户角色2.1.2. 文件属性 2.2. 怎么操作权限呢?(how)2.2.1. ugo-rwx方案2.2.2. 八进制方案2.2.3. 文件权限的初始模样2.2.4. 进入一个…

Linux基础操作

ls [-a -l -h] [Linux路径] 当不使用选项和参数,直接使用ls命令本体,表示以平铺的方式:列出当前工作目录下的内容 ls -a -a表示all的意思,即列出所有文件(包含隐藏的文件和文件夹) ls -l 以竖列的形式展示信…

linux C语言 socket的server、client 实现

讲解: 在Linux中,使用socket与另一端建立连接通常涉及到以下步骤: 1. 创建Socket:首先,你需要创建一个套接字(socket)。你可以使用socket()系统调用来创建套接字。通常,你需要指定套接字的类型&#xff0…

ssh服务登录原理与配置

文章目录 前言一、基于口令的认证(用户名密码)二、基于公钥的认证(免密登录)三、禁止用户登录和修改端口四、免密登录具体操作 前言 非对称加密是在认证用户连接的时候使用的,对称加密是在用户连接之后开始传输数据的…

【C++】深拷贝和浅拷贝 ④ ( 深拷贝示例 )

文章目录 一、深拷贝示例1、浅拷贝问题2、自己实现深拷贝 二、深拷贝完整代码示例 一、深拷贝示例 1、浅拷贝问题 在上一篇博客 【C】深拷贝和浅拷贝 ③ ( 浅拷贝内存分析 ) 中 , 使用了浅拷贝 , 将 原始对象 Students 赋值给了 拷贝对象 Student s2 ; 使用 C 编译器 生成的 默…

Mysql的基本查询练习

目录 一、Create 1.1单行数据全列插入 1.2 多行数据指定列插入 1.3插入否则更新 1.4 替换 二、Retrieve 2.1全列查询 2.2指定列查询 2.3查询字段为表达式 2.4为查询结果指定别名 2.5 结果去重 2.6 where 条件 2.6 NULL的查询 2.7 结果排序 三、 Update 四、Dele…

电力系统直流潮流分析【N-1】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

VHOST-SCSI代码分析(0)VHOST概述

与VIRTIO框架相比,VHOST将设备放到HOST上,让Guest和Host Kernal Space之间共享virtqueue,减少Exception Level切换。 对于数据的传递,依次经历:Guest UserSpace(EL0)-> Guest KernelSpace&am…

MySQL索引,事务及存储引擎

目录 MySQL索引 创建索引的依据: 索引的类型 普通索引 唯一索引 主键索引 组合索引 全文索引 查看索引 删除索引 事务 事务的 ACID 特性 原子性 一致性 隔离性 持久性 隔离级别 设置隔离级别 事务管理操作 自动提交事务 存储引擎 M…

GODIVA论文阅读

论文链接:GODIVA: Generating Open-DomaIn Videos from nAtural Descriptions 文章目录 摘要引言相关工作Video-to-video generationText-to-image generationText-to-video generation GODIVA方法逐帧视频自动编码器GODIVA视频生成器 实验数据集评价指标自动评估指…