纯小白式分享利用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部署请自行安装到想对应的包):
sudo yum update -y
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]!!!
感谢你的观看,如不嫌弃请给我一个赞吧~