Halo博客搭建笔记(以Nginx反向代理 + 负载均衡 + 服务的方式运行Halo博客)
Halo [ˈheɪloʊ],一款现代化的开源博客/CMS系统,值得一试
官方网站:Halo
官方文档:Halo Documents
Github:halo-dev/halo: ✍ 一款现代化的开源博客 / CMS 系统。 (github.com)
5.1 环境准备
目前运行 Halo 的最低依赖要求为 JRE 11,请务必确保在进行下面操作之前已经正确安装了 JRE
目前介绍两种 Linux 发行版的安装方式,均为 OpenJRE,不推荐 Oracle 版本
CentOS
# 1. 安装JDK
[root@centos ~]#sudo yum install java-11-openjdk -y# 2. 检查版本
[root@centos ~]#java -version
openjdk version "11.0.15" 2022-04-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.15+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+9-LTS, mixed mode, sharing)
Ubuntu
# 1. 安装JDK
[rengang@ubuntu1804 ~]$sudo apt-get install openjdk-11-jre -y# 2. 检查版本
[rengang@ubuntu1804 ~]$java -version
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1, mixed mode, sharing)
5.2 安装部署
(1)创建系统用户
不推荐直接使用系统 root 用户来运行 Halo。如果需要直接使用 root 用户,请跳过这一步。
# 1. 创建halo用户(名字可以随意)
[root@centos ~]#useradd -m halo# 2. 给予sudo权限
[root@centos ~]#usermod -aG wheel halo# 3. 创建密码
[root@centos ~]#passwd halo# 4. 切换到halo用户
[root@centos ~]#su - halo
(2)部署Halo
# 1. 创建存放目录
[halo@centos ~]$mkdir ~/app && cd ~/app# 2. 下载运行包
[halo@centos app]$wget -O halo.jar https://github.com/halo-dev/halo/releases/download/v1.5.4/halo-1.5.4.jar # 3. 创建工作目录
[halo@centos ~]$mkdir ~/.halo && cd ~/.halo# 4. 下载示例配置文件到 工作目录
[halo@centos .halo]$wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml# 5. 编辑配置文件,配置数据库或者端口
[halo@centos .halo]$vim application.yaml# 6. 测试运行Halo
[halo@centos ~]$cd ~/app && java -jar halo.jar# 7. 如看到类似以下日志输出,则代表启动成功
run.halo.app.listener.StartedListener : Halo started at http://127.0.0.1:8090
run.halo.app.listener.StartedListener : Halo admin started at http://127.0.0.1:8090/admin
run.halo.app.listener.StartedListener : Halo has started successfully!
配置文件说明:配置参考 | Halo Documents
打开 http://ip:端口号
即可看到安装引导界面
如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。
如果通过
http://ip: 端口号
的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组
5.3 服务方式运行
如下操作请退出halo账户,登录到root账户
(1)下载官方模板
[root@centos ~]#wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service
(2)配置service文件
- Halo_PATH:Halo 运行包的绝对路径,例如
/home/halo/app/halo.jar
,注意:此路径不支持~
符号 - USER:运行 Halo 的系统用户,如果有按照上方教程创建新的用户来运行 Halo,修改为你创建的用户名称即可
[root@centos ~]#cat /etc/systemd/system/halo.service
[Unit]
Description=Halo Service
Documentation=https://docs.halo.run
After=network-online.target
Wants=network-online.target[Service]
Type=simple
User=halo
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar /home/halo/app/halo.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslogStandError=inherit[Install]
WantedBy=multi-user.target
请确保
/usr/bin/java
是正确无误的。建议将ExecStart
中的命令复制出来运行一下,保证命令有效。
(3)启动Halo服务
# 1. 重新加载systemd
[root@centos ~]#systemctl daemon-reload# 2. 运行服务
[root@centos ~]#systemctl start halo.service # 3. 开机自启
[root@centos ~]#systemctl enable halo.service # 4. 查看服务日志检查启动状态
[root@centos ~]#journalctl -n 20 -u halo
5.4 反向代理
(1)配置nginx
# 1. 安装nginx
[root@centos ~]#yum install -y nginx# 2. 编辑配置文件
[root@centos ~]#cat /etc/nginx/conf.d/halo.conf
upstream halo {server 127.0.0.1:8090;
}server {listen 80;listen [::]:80;server_name halo.rengang.org;client_max_body_size 1024m;location / {proxy_pass http://halo;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;}
}# 3. 启动nginx
[root@centos ~]#systemctl start nginx
(2)访问测试
直接使用http://halo.rengang.org域名访问,无须添加端口信息
(3)后台管理
(4)主题修改
Halo博客搭建笔记(以Nginx反向代理 + 负载均衡 + 服务的方式运行Halo博客)相关推荐
- Nginx 反向代理 负载均衡 虚拟主机
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- Nginx反向代理 负载均衡sky
Nginx服务部署 Nginx简介 Nginx (engine x) 是一个轻量级的.高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗 ...
- nginx 反向代理负载均衡 tomcat集群应用
nginx 反向代理负载均衡 tomcat集群应用 环境介绍: 系统:centos5.8_64 192.168.0.201:nginx服务器 192.168.0.202:tomcat服务器 192.1 ...
- Nginx反向代理负载均衡虚拟主机动静分离UrlRewrite防盗链
文章目录 1. Nginx简介 1.1 Nginx背景 1.2 Nginx的优点 1.3 Nginx的功能特性及常用功能 2.Nginx安装 2.1 下载上传解压 1.2 安装 3.nginx核心概念 ...
- Nginx 反向代理 负载均衡 动静分离 高可用 原理
1.Nginx简介 1.1 概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能 ...
- Nginx 反向代理+负载均衡
一.Nginx 的引入背景 ● 公司产品出现瓶颈? 我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户. 用户少, ...
- Tomcat集群+Nginx反向代理+负载均衡
Tomcat集群 所谓tomcat集群,就是向外提供并行服务的多台机器,任何一台服务器宕机,其他服务器还可以代替它向外提供服务,从而不影响用户访问 为了提高tomcat集群的高可用性,还需要实现ngi ...
- Nginx反向代理负载均衡的容器化部署
首先,在home目录创建microservices目录,开启第一篇章. cd ~ && mkdir microservices && cd microservices ...
- Nginx——反向代理 负载均衡(无理论,案例实操)
1.开篇 有关Nginx的下载安装.相关理论内容,这里就不再多说了,详情可以参考我的这几篇文章: https://szh-forever-young.blog.csdn.net/article/det ...
- Nginx反向代理负载均衡
环境准备: 总共四台机器,两台装有Nginx的机器做负载均衡,两台机器装有Apache作为WEB服务器. 机器信息 hostname IP 说明 lb01 192.168.1.19 nginx主负载均 ...
最新文章
- Linux那些事儿 之 戏说USB(26)设备的生命线(九)
- Bootstrap Paginator 分页插件的使用
- 在PL/SQL里直接插入日期时提示 is not a valid date and time的解决方法
- 洛谷——P1183 多边形的面积
- java 8 语法糖_Java8的lamada算是一种语法糖吗?
- 《系统集成项目管理工程师》必背100个知识点-59项目总结会议
- 软件工程转计算机科学与技术,计算机与软件工程学院本科生转专业实施方案
- comet 异步请求技术中相关关键字解释 (新手向)
- Redis分布式锁的实现原理
- jmeter mysql驱动jar包_用 Jmeter 做 Web 接口测试
- SQL基础之 基本属性和运算 (一)
- 在php中插入图片,php中怎么插入图片
- Android常用控件基础知识
- STm32驱动74HC595引脚图时序图工作原理
- 【jvm】《尚硅谷宋红康JVM全套教程(详解java虚拟机)》上篇 笔记
- 完全平方数-动态规划
- 【疑难杂症】matplotlib绘图是设置中文字体为宋体
- 从零学习PyTorch(5)----整个天空都是灰蒙蒙的
- Google Earth Engine(GEE)——MODIS影像StateQA波段bit去云
- 关于python浮点数类型错误的是_关于Python的数字类型,以下选项中描述错误的是...