前言:有Oracle Cloud服务器的或者说你的服务器性能一般,不想用docker想直接安装的看这个教程: ps:我是使用ubuntu全新环境安装

1:准备工作

①下载Java

sudo apt update
sudo apt install openjdk-11-jdk

安装完毕查看java版本确认是否安装成功

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)

②下载Nginx

sudo apt install nginx

查看版本是否安装成功

nginx -V

2:下载halo到服务器并且进行

①准备工作

(我是直接用root用户)创建halo文件夹并进入目录下

mkdir /halo && cd /halo

在该目录下下载运行包

wget https://dl.halo.run/release/halo-1.5.3.jar -O halo.jar

继续创建工作目录

mkdir /halo/.halo && cd halo/.halo

在目录内下载配置文件

wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml 

修改配置文件或者默认,建议修改

vim application.yaml

我只把需要你修改的地方贴出来,其他如果你需要修改请自行处理

server:
  port: 8091(端口)
# H2 database configuration.
username: halo(H2数据库ID)
password: halo(H2数据库的密码)
# Your admin client path is https://your-domain/{admin-path}
  admin-path: admin(后台管理路径)

(以上数据最好不要使用我贴出来的默认值,如果你是使用MySQL数据库把H2注释了修改mysql数据库相关即可)

测试是否配置成功

cd /halo && java -jar halo.jar

出现下面输出日志证明成功

run.halo.app.listener.StartedListener    : Halo started at         http://127.0.0.1:8091
run.halo.app.listener.StartedListener    : Halo admin started at   http://127.0.0.1:8091/admin
run.halo.app.listener.StartedListener    : Halo has started successfully!

(访问你的iP+你设置的端口,管理路径就是/你设置的后台管理路径)

②作为服务运行

下载 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

重要的2个点

User=root(这里是你的系统用户名,我是在root下)
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar /halo/halo.jar

(jar后的YOUR_JAR_PATH就是刚才下载运行包的路径不要写错) 重新加载 systemd、运行服务、在系统启动时启动服务、查看服务日志检查启动状态。分别依次运行以下命令:

1→ systemctl daemon-reload
2→ systemctl start halo
3→ systemctl enable halo
4→ journalctl -n 20 -u halo

3:设置Nginx反代

server {
  listen 80; #Nginx服务器监听端口
  listen 443 ssl; #如果你没有证书,注释这里代码
  listen [::]:80; #如果你服务器没有IPV6,注释这里代码
  listen [::]:443 ssl; #如果你没有证书,也没有IPV6,注释这里代码

  
  charset     utf-8;
  server_name blog.leealu.tk; #域名
 
  # 强制跳转 HTTPS
     if ($server_port = 80 ) {
     return 301 https://$host$request_uri;
  }
  #   没有证书就注释上方跳转代码否则会报错
  
     ssl_certificate /halo/cert.crt; #没有证书也请注释这里
     ssl_certificate_key /halo/private.key; #没有证书也请注释这里

  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Nginx-Proxy true;
 
    proxy_pass http://127.0.0.1:8091/;
    proxy_redirect off;

  }
}

总结

以上就是全部过程,相对对一些小白来说还是很有用的。码字很辛苦,大家请鼓励~

文章作者: Lee
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Lee's Blog
Web Oracle Halo nginx ubuntu
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝