注:本人为学习linux相关内容故采用jar包方式安装
前置环境安装
前置环境主要包含JDK、MySql、Nginx(可选)
JDK安装
在安装前设置定时更新yum源
yum install yum-cron -y
systemctl enable yum-cron
systemctl start yum-cron
查询可用的jdk,由于halo最低需要17版本,查询出来的只有11及以前的版本所以采用手动安装的方式安装jdk
yum list available | grep java | grep openjdk
sudo yum install java-11-openjdk-devel -y
手动安装jdk
1.下载新版本的jdk上传至服务器
2.创建目录并解压
mkdir -p /opt/jdk
tar -xvzf 某版本jdk.tar.gz -C /opt/jdk
3.配置jdk
sudo vi /etc/profile.d/java.sh
在文件中添加以下内容(具体目录根据安装调整)
export JAVA_HOME=/opt/jdk/jdk-21
export PATH=$JAVA_HOME/bin:$PATH
重新加载并验证
source /etc/profile.d/java.sh
java -version
MySql安装
博主服务器为centos7
1.删除系统默认的mariadb
yum remove mariadb* -y
2.添加官方源
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm
3.手动刷新下源
sudo yum clean all
sudo yum makecache fast
4.确认启用的是mysql8的源
yum repolist all | grep mysql
需要检查以下两个是否被启用
mysql80-community/x86_64
mysql-connectors-community/x86_64
5.安装
sudo yum install mysql-community-server -y
6.获取临时密码并登录、修改密码
Nginx安装
手动下载nginx并上传到服务器
nginx官方下载地址
1.安装Nginx依赖环境,-y表示所有提示默认选择y
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
yum install -y gcc
2.解压
tar -zxvf nginx-xxx.tar.gz -C /xxx(目录)
3.进入解压后的目录并安装
cd nginx-xxx/
./configure
make
make install
4.启动服务
cd /usr/local/nginx/sbin
./nginx
ps -ef|grep nginx
如需配置ssl需要重新执行安装命令,具体参数百度。
如需配置开机自启等也需额外配置,本文暂不补充。
博客安装
博主的安装方式参考了halo官网的jar部署步骤,具体的配置文件请参考官网,博主的只是示例
1.创建用户配置密码
useradd -m halo
passwd halo
su - halo
2.创建目录
mkdir ~/abyHalo && cd ~/abyHalo
3.下载运行包
wget https://dl.halo.run/release/halo-2.20.18.jar -O halo.jar
4.创建应用工作目录
mkdir ~/.halo2 && cd ~/.halo2
5.创建配置文件(配置文件见文末)
vim application.yaml
6.测试运行(后台运行在命令前加nohup命令后加&)
cd ~/abyHalo && java -Dfile.encoding=UTF-8 -jar halo.jar --spring.config.additional-location=optional:file:$HOME/.halo2/
项目配置
server:
# 运行端口
port: 8090
spring:
r2dbc:
url: r2dbc:pool:mysql://ip:端口/数据库名
username: 用户名
password: 密码
sql:
init:
mode: always
# 需要配合 r2dbc 的配置进行改动
platform: mysql
halo:
# 工作目录位置
work-dir: ${user.home}/.halo2
# 外部访问地址
external-url: http://localhost:8090
# 附件映射配置,通常用于迁移场景
attachment:
resource-mappings:
- pathPattern: /upload/**
locations:
- migrate-from-1.x