Halo-Plus个人博客(本博客)从零搭建教程及疑难问题
前提:这不是一篇最基础的博客教程,如果你曾经建过博客,那么你将完全理解本文章,如果你是一个刚入坑的萌新,也要对linux命令有一定了解,如vim。
部署方式:操作系统:Centos7
- 购买一款云服务器和一个相中的域名
- 初始化云服务器后,成功通过SSH远程登陆服务器,推荐软件Xshell7。通过Xshell7远程操纵服务器
- 安装Halo-Plus 的最低依赖要求 JRE 11:
sudo yum install java-11-openjdk -y
- 检查版本:
java -version
- 如果输出以下类似内容即代表成功
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9-LTS, mixed mode, sharing)
- 创建新的系统用户(直接使用root用户意外对服务器造成的损伤是大的,所以此处新建一个halo-plus用户)
useradd -m halo-plus
- 给予 sudo 权限
usermod -aG wheel halo-plus
- 为 halo-plus 用户创建密码
passwd halo-plus
- 登录到 halo-plus 账户
su - halo-plus
- **创建存放 **运行包 的目录,这里以
~/app
为例
mkdir ~/app && cd ~/app
- 下载运行包
// 国外服务器可选择第一个
wget https://github.com/nineya/halo-plus/releases/download/1.1.4/halo-plus-1.1.4.jar -O halo-plus.jar
// 如果是国内服务器,速度比较慢,可以用下面的链接,也可以先下载到本地,然后在宝塔上,从本机传输到对应的文件夹下面
wget http://api.niuwh.cn/blog_hub/halo-plus.jar -O halo-plus.jar // 用的自己服务器,大家轻点薅
- 创建 工作目录
mkdir ~/.halo-plus && cd ~/.halo-plus
- 下载示例配置文件到 工作目录
wget http://api.niuwh.cn/blog_hub/application.yaml -O ./application.yaml
- **编辑配置文件,配置数据库或者端口等,如需配置请参考 配置参考
vim application.yaml
- 测试运行 Halo-Plus
cd ~/app && java -jar halo-plus.jar
- 如看到类似以下日志输出,则代表启动成功
run.halo.app.listener.StartedListener : Halo-Plus started at http://127.0.0.1:8090
run.halo.app.listener.StartedListener : Halo-Plus admin started at http://127.0.0.1:8090/admin
run.halo.app.listener.StartedListener : Halo-Plus has started successfully!
然后到你的云服务器商那里新增安全组规则8090,再打开 **http://ip:端口号
即可看到安装引导界面。
如测试启动正常,请继续看
作为服务运行
部分,第 8 步仅仅作为测试。当你关闭 ssh 连接之后,服务会停止。你可使用 CTRL+C 停止运行测试进程。
作为服务运行
- 退出halo-plus 账户,登录到 root 账户
exit
- 下载 Halo-Plus 官方的 halo-plus.service 模板
wget http://api.niuwh.cn/blog_hub/halo-plus.service -O /etc/systemd/system/halo-plus.service
修改配置
- YOUR_JAR_PATH:Halo-Plus 运行包的绝对路径,例如
/home/halo-plus/app/halo-plus.jar
,注意:此路径不支持~
符号。 - USER:运行 Halo-Plus 的系统用户,如果有按照上方教程创建新的用户来运行 Halo-Plus,修改为你创建的用户名称即可。反之请删除
User=USER
。
**请确保 **
/usr/bin/java
是正确无误的。建议将ExecStart
中的命令复制出来运行一下,保证命令有效。
- 重新加载 systemd
systemctl daemon-reload
- 运行服务
systemctl start halo-plus
- 在系统启动时启动服务
systemctl enable halo-plus
此时,你已经完成了一大半,剩下就是利用Nginx反向代理,可以用你的你的域名来替代 ip:端口号
当然,国内服务器不备案的话,会拦截你的80端口,所以大家要先备案
- 安装宝塔面板
url=https://download.bt.cn/install/install_lts.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi;bash install_lts.sh ed8484bec
安装完成后记住宝塔内外网面板地址和账号密码,后面登录宝塔面板会用到
- 服务器安全组添加xxxx端口规则,登陆宝塔面板后,下载安装Nginx(宝塔会弹窗提示),或者在宝塔面板里的软件商店里自行下载。
- 添加新站点,可按图片操作
- 点击站点,选择左侧配置文件,将下面内容复制进去,点击保存
upstream halo-plus {
server 127.0.0.1:8090;
}
server {
listen 80;
listen [::]:80;
server_name www.yourdomain.com;
client_max_body_size 1024m;
location / {
proxy_pass http://halo-plus;
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;
}
}
大功告成。
想要安装SSL证书,使用https进行访问?可参考:参考资料3
过程还是相对粗糙的,但是摸索的过程不就是一种学习嘛,欢迎大家指正,完善,评论区见~
参考资料:
- https://docs.halo-plus.nineya.com/1.1-SNAPSHOT/getting-started/install/linux
- 宝塔Linux面板的安装配置以及基本使用教程(超详细)
- https://github-wiki-see.page/m/YuMao233/MCSManager-v8.7/wiki/%E5%85%B3%E4%BA%8E%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF%E7%9A%84-Nginx-%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E4%BB%A5%E5%8F%8ASSL%E8%AF%81%E4%B9%A6%E9%83%A8%E7%BD%B2