在看大佬的文章时候发现大佬的博客用的halo,然后看了一下halo的搭架文档。Halo是一款使用Java开发的开源博客系统,使用的Spring Boot框架,只需要一行命令便可完成安装。搭建特别简单,此文记录搭建过程。
首先需要一台服务器,需要域名访问的话还需要注册一个域名并备案,我购买的腾讯云轻量应用服务器,双11活动很合适,会linux基础就可以轻松操作。域名已申请,正在备案中。
服务器开放8090端口,halo默认运行端口号。
安装jdk
sudo yum install java-1.8.0-openjdk -y
检测是否安装成功
java -version
下载halo安装包
wget https://dl.halo.run/release/halo-1.4.2.jar -O halo-latest.jar
启动测试
java -jar halo-latest.jar
设置开机自启和后台运行
下载 Halo 官方的 halo.service 模板
sudo curl -o /etc/systemd/system/halo.service --create-dirs https://dl.halo.run/config/halo.service
修改 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
查找文件位置
find . -name ‘halo-latest.jar’
检查设置是否正确
完成以上操作即可通过 IP:端口 访问了.
配置域名访问
在腾讯云平台云产品中找到,域名注册,注册一个自己心仪的域名
腾讯云审核一般7个工作日,工信部审核一般15个工作日,工信部审核期间会发送一个短信来验证,需要及时回复。
再次点击域名注册,我们就可以看到自己的域名列表,点击解析
点击快速添加网站/邮箱解析即可
使用 Nginx 进行反向代理
安装 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 编辑 halo.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改为自己的域名,例如changpx.com www.changpx.com。
修改完成之后
检查配置是否有误
sudo nginx -t
重载 Nginx 配置
sudo nginx -s reload
配置 SSL 证书
安装 certbot 以及 certbot nginx 插件
sudo yum install certbot python2-certbot-nginx -y
执行配置,中途会询问你的邮箱,如实填写即可
sudo certbot --nginx
自动续约
sudo certbot renew --dry-run
到这里,关于 Nginx 的配置也就完成了,现在你可以访问一下自己的域名,并进行 Halo 的初始化了。
在设置了反向代理之后,请一定记得去 Halo 的管理端设置一下正确的博客地址,否则可能会造成资源获取不成功。
现在你可以开始愉快的写作了。