使用阿里云香港轻量云加宝塔面板搭建基于java语言的Halo博客系统教程

简介: 使用阿里云香港轻量云加宝塔面板搭建基于java语言的Halo博客系统全教程

前言

Halo 是一款现代化的个人独立博客系统,给习惯写博客的同学多一个选择。

halo博客系统官网地址:https://halo.run

安装教程开始啦:

首先需要有一台服务器,可以在阿里云购买,系统选择centos8.2即可(当然,别的系统也可以哈),之后连接SSH安装宝塔面板。


宝塔面板安装命令

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh


目前运行 Halo 的最低依赖要求为 JRE 11,所以我们开始安装java jdk。

登录SSH,输入

yum install java-11-openjdk -y

Snipaste_2021-11-02_16-16-37.png

安装完成后输入:

java -version
java

查看java版本及是否安装成功

Snipaste_2021-11-02_16-19-14.png

出现上图即代表jdk安装成功,来进行下一步吧~

在宝塔面板创建站点,输入域名即可

Snipaste_2021-11-02_16-21-15.png

创建站点后返回ssh,cd到创建的网站目录内。

cd /www/wwwroot/www.chvm.cn

上方的www.chvm.cn改为自己的网站目录


使用wget下载halo系统包

wget https://dl.halo.run/release/halo-1.4.13.jar

如果官方地址无法下载,可以使用github的下载地址

wget https://github.com/halo-dev/halo/releases/download/v1.4.13/halo-1.4.13.jar

下载成功后开始运行啦~
Snipaste_2021-11-02_16-29-37.png

输入:

java -jar halo-1.4.13.jar

运行halo。

Snipaste_2021-11-02_16-31-08.png

等待halo启动成功。

Snipaste_2021-11-02_16-32-11.png

出现Halo has started successfully!即代表启动成功。


因为halo在关闭SSH窗口后会关闭,所以配置一下让他后台运行,CTRL+C结束进程。

下载 Halo 官方的 halo.service 模板

wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service

修改 halo.service

vim /etc/systemd/system/halo.service

修改配置

  • YOUR_JAR_PATH:Halo 运行包的绝对路径,例如 /home/halo/app/halo.jar,注意:此路径不支持 ~ 符号。
  • USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可。反之请删除 User=USER
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/java -server-Xms256m-Xmx256m-jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPIDRestart=always
StandOutput=syslog
StandError=inherit
[Install]
WantedBy=multi-user.target

请确保 /usr/bin/java 是正确无误的。建议将 ExecStart 中的命令复制出来运行一下,保证命令有效。


重新加载 systemd

systemctl daemon-reload

运行服务

systemctl start halo

在系统启动时启动服务

systemctl enable halo

您可以查看服务日志检查启动状态

journalctl -n 20 -u halo


反向代理

halo的默认地址为:http://127.0.0.1:8090

总不能用内网访问吧?所以我们需要配置nginx反向代理,让halo可以使用域名及外网访问

Snipaste_2021-11-02_16-46-03.png

宝塔面板>网站>需要设置的网站>网站设置>反向代理>添加反向代理>

代理名称可以随便填,类似备注的意思。

目标url填写:http://127.0.0.1:8090

发送域名默认$host即可。


此时访问域名,即可初始化安装halo啦~

Snipaste_2021-11-02_17-32-43.png

Snipaste_2021-11-02_17-33-50.png

Snipaste_2021-11-02_17-35-56.png

此时halo博客就安装成功啦!基于java的博客,执行效率还是蛮高的~

相关文章
|
3天前
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
38 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
18天前
|
消息中间件 Java 数据库
自研Java框架 Sunrays-Framework使用教程「博客之星」
### Sunrays-Framework:助力高效开发的Java微服务框架 **Sunrays-Framework** 是一款基于 Spring Boot 构建的高效微服务开发框架,深度融合了 Spring Cloud 生态中的核心技术组件。它旨在简化数据访问、缓存管理、消息队列、文件存储等常见开发任务,帮助开发者快速构建高质量的企业级应用。 #### 核心功能 - **MyBatis-Plus**:简化数据访问层开发,提供强大的 CRUD 操作和分页功能。 - **Redis**:实现高性能缓存和分布式锁,提升系统响应速度。 - **RabbitMQ**:可靠的消息队列支持,适用于异步
自研Java框架 Sunrays-Framework使用教程「博客之星」
|
21天前
|
Oracle Java 关系型数据库
Java基础(一):语言概述
Java基础(一):语言概述
Java基础(一):语言概述
|
15天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
40 6
|
20天前
|
Java 数据库连接 数据处理
探究Java异常处理【保姆级教程】
Java 异常处理是确保程序稳健运行的关键机制。它通过捕获和处理运行时错误,避免程序崩溃。Java 的异常体系以 `Throwable` 为基础,分为 `Error` 和 `Exception`。前者表示严重错误,后者可细分为受检和非受检异常。常见的异常处理方式包括 `try-catch-finally`、`throws` 和 `throw` 关键字。此外,还可以自定义异常类以满足特定需求。最佳实践包括捕获具体异常、合理使用 `finally` 块和谨慎抛出异常。掌握这些技巧能显著提升程序的健壮性和可靠性。
40 4
|
24天前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
39 7
|
20天前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
43 1
|
30天前
|
存储 监控 算法
探秘局域网桌面监控:深入剖析 Java 语言核心算法
在数字化办公时代,局域网桌面监控如同企业的“智慧鹰眼”,确保工作效率与数据安全。本文以Java为载体,揭示哈希表在监控中的关键应用。通过高效的数据结构和算法,哈希表能快速索引设备连接信息,大幅提升监控的时效性和响应速度。代码示例展示了如何用Java实现设备网络连接监控,结合未来技术如AI、大数据,展望更智能的监控体系,助力企业在数字化浪潮中稳健前行。
|
2月前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
1038 1
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
20天前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
27 0