纯小白式分享利用Halo搭建Blog平台的过程

纯小白式分享利用Halo搭建Blog平台的过程

前提 :

1.拥有一台云主机(linus系统)且拥有一个域名能正确及解析到主机IP

1.1 可以选择是国外服务器加海外域名解析商(例如godady等),可以不用备案;

2.2 也可以选择是国内服务器加国内域名解析商(例如dnspod),需要备案,但访问速度更快。

2.对于云主机需要设置相关安全组开放相关端口(8090,80,443),若云主机安装有宝塔面板等管理工具,也需要开放相关端口。

设置安全组:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RVzWL0Fz-1594045375138)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200620164000133.png)]

设置宝塔面板:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e8g5guUq-1594045375142)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200620164258238.png)]

开始部署(我是以centos系统建立的,若是以ubuntu或者debian部署请自行安装到想对应的包):

  1. 确保软件保持最新状态

sudo yum update -y

  1. 安装java运行环境

sudo yum install java-1.8.0-openjdk -y

安装完成后检测是否安装成功:java -version

安装Halo:

1. 下载并设置好相关配置文件(配置文件路径为~/.halo/application.yaml)

下载配置文件到~/.halo目录:

curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml

配置相关文件:

使用vim 配置相关文件(若没有 sudo yum install vim):

vim ~/.halo/application.yaml

打开之后将会看到:

server:
 port: 8090

 # Response data gzip.
 compression:
   enabled: false
spring:
 datasource:
   # H2 database configuration.
   driver-class-name: org.h2.Driver
   url: jdbc:h2:file:~/.halo/db/halo
   username: admin
   password: 123456

   # MySQL database configuration.
 #    driver-class-name: com.mysql.cj.jdbc.Driver
 #    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
 #    username: root
 #    password: 123456

 # H2 database console configuration.
 h2:
   console:
     settings:
       web-allow-others: false
     path: /h2-console
     enabled: false

halo:
 # Your admin client path is https://your-domain/{admin-path}
 admin-path: 

 # memory or level
 cache: memoryrru

如果是小白的话我觉得只要设置port、username、userword和admin-path即可。

port:博客平台运行的端口,默认为8090(若修改为其他端口,请开放这个端口,具体请后顾前提)。

username:数据库用户名(最好自定义)

userword:数据库用户密码(最好自定义)

admin-path:后台管理页面路径,最好将其修改为其他。

注意:若采用MySQL数据库请先建立相关数据库

create database halodb character set utf8mb4 collate utf8mb4_bin;

示例中的数据库名为halodb,若自定义请同时将配置文件中的MYSQL配置选项中的url设置好。

2.下载并运行Halo:

下载最新的Halo安装包,下载链接为有:

  • https://dl.halo.run
  • https://halo.cary.tech (推荐从这里下载)
  • http://halo-dl.ryanc.cc

进入相关下载链接够,找到最新安装包位置,记录url

运行:wget https://halo.cary.tech/release/halo-1.3.2.jar (其中1.3.2为版本号,具体请按当前发布的最新为准)

将其复制到/home目录下

cp halo-1.3.2.jar /home

设置开机自启等进阶配置:

需要是管理员权限(root)

下载Halo官方的配置文档

sudo curl -o /etc/systemd/system/halo.service --create-dirs https://dl.halo.run/config/halo.service

配置相关文件:

sudo vim /etc/systemd/system/halo.service

打开之后将会看到:

[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target

[Service]
User=halo
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

需要修改及注意的点:

  • 确保/usr/bin/java 目录正确无误

  • 将YOUR_JAR_PATH更换为自己halo安装包存放的路径

例如示例中的是/home/halo-1.3.2.jar

将YOUR_JAR_PATH更换为/home/halo-1.3.2.jar

设置自启:

  • 修改 service 文件之后需要刷新 Systemd

sudo systemctl daemon-reload

  • 设置Halo自启

sudo systemctl enable halo

  • 启动Halo

sudo service halo start


以上是设置自启需要的步骤


  • 重启Halo

sudo service halo restart

  • 停止Halo

sudo service halo stop

  • 查看Halo运行状态

sudo service halo status

当完成到这里后即可通过主机IP:端口号进行访问,我建议大家完成到这一步后进行手动重启主机,待开机后进行访问自己搭建的blog,看是否成功

配置域名访问:

使用nginx反向代理

安装:

  • 添加nginx源:sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  • 安装nginx:sudo yum install -y nginx
  • 启动nginx:sudo systemctl start nginx.service
  • 设置开机自启nginx:sudo systemctl enable nginx.service

配置nginx:

  • 下载下载 Halo 官方的 Nginx 配置模板:curl -o /etc/nginx/conf.d/halo.conf --create-dirs https://dl.halo.run/config/nginx.conf

  • 配置模板:vim /etc/nginx/conf.d/halo.conf

打开后将会看到:

server {
    listen 80;

    server_name example.com www.example.com;

    location / {
        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;

        proxy_pass http://127.0.0.1:8090/;
    }
}

其中example.com 与 www.example.com需要修改为自己的域名

例如我修改为 linxinloningg.space 与 blog.linxinloningg.space

具体详情需要参考自己本人在域名解析中对A链的设置,若你仅解析了一个域名,则将example.com修改为你自己的域名,保留www.example.com

注意:proxy_pass中的ip端口需要对应你前面配置Halo配置文档时设置的端口(默认未修改为8090)

修改完之后:

  • 检查配置是否有误:sudo nginx -t

  • 重载配置信息:sudo nginx -s reload

    配置 SSL 证书

    1. 安装 certbot 以及 certbot nginx 插件

    sudo yum install certbot python2-certbot-nginx -y

    途中将会询问你解析哪个域名

    选择你要解析的域名

    2.执行配置

    sudo certbot --nginx

    途中会询问邮箱,如实填写即可

    3.自动续约

    sudo certbot renew --dry-run


    到此,nginx的配置也完成,可以尝试一下在浏览器中访问自己的域名,是否成功到达自己搭建的blog




    另外:声明:本文只是复述本人搭建Halo博客后台的过程,并非自己摸索探讨得出的操作手册。

    更多详细操作步骤已经更新和备份方法请移步[Halo操作手册][https://halo.run/archives/install-quick-start.html]!!!

    感谢你的观看,如不嫌弃请给我一个赞吧~


另外:声明:本文只是复述本人搭建Halo博客后台的过程,并非自己摸索探讨得出的操作手册。

更多详细操作步骤已经更新和备份方法请移步[Halo操作手册][https://halo.run/archives/install-quick-start.html]!!!

感谢你的观看,如不嫌弃请给我一个赞吧~

猜你喜欢

转载自blog.csdn.net/linxinloningg/article/details/107169577