参考: Halo文档
正文
1.云服务器选择 操作系统选择
选择你自己的买的服务器即可
操作系统选择CentOS,最好是Centos7.x版本。
2.安装宝塔面板 放行8888端口
进入宝塔官网,可以一键快捷安装:官网
服务器IP为服务器的外网IP地址,端口号默认为22
验证方式为密码验证,密码输入你重置的服务器 Linux 实例密码,确认安装即可。
安装成功后记住账号密码,在云服务器处放行8888端口
3.在宝塔面板中安装安装Nginx
在进入宝塔面板后点击软件商城,搜索并安装Nginx,安装最新版即可。
4.在宝塔首页SSH页面输入以下命令
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)
创建存放 运行包 的目录,这里以 ~/app 为例
mkdir ~/app && cd ~/app
下载运行包
wget https://dl.halo.run/release/halo-1.5.0.jar -O halo.jar
创建 工作目录
mkdir ~/.halo && cd ~/.halo
下载示例配置文件到 工作目录
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
编辑配置文件,配置数据库或者端口等,如需配置请参考 配置参考
vim application.yaml
配置参考
https://docs.halo.run/getting-started/config/
下载 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
如果你完全按照我之前的步骤操作可直接改成下面
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar /app/halo.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog
StandError=inherit
[Install]
WantedBy=multi-user.target
重新加载 systemd
systemctl daemon-reload
运行服务
systemctl start halo
在系统启动时启动服务
systemctl enable halo
您可以查看服务日志检查启动状态
journalctl -n 20 -u halo
5.在腾讯云和宝塔面板放行8090端口
云服务器:放行8090端口
宝塔面板:点击安全页面,放行8090端口
6.Halo配置
以上步骤完成之后,在浏览器输入
http://服务器主机地址:8090
回车之后,等一会Halo就可以进行初始配置了
7.主题配置
直接进入到Halo官网的主题仓库下载自己喜欢的主题即可
主题仓库
8.宝塔面板进行反向代理(需要有一个域名,域名解析服务器外网ip)
先打开宝塔面板中的网站一栏,点击添加站点
只需要添加自己的域名,其他配置不动,提交后点击添加的域名设置SSL
设置 SSL
在配置反向代理之前,我们推荐先设置好 SSL 证书。
可选择 宝塔 SSL 或者 Let’s Encrypt 进行证书申请。
或者在其他证书一栏中填入你现在拥有的SSL证书密钥和PEM填入保存。
需要开启右上角的 强制 HTTPS。
修改配置文件
在根节点添加:
upstream halo {
server 127.0.0.1:8090;
}
其中的 8090 为 Halo 的运行端口,请按需修改。
在 server 节点添加:
location / {
proxy_pass http://halo;
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;
}
修改 server 节点中的 location ~ .*.(gif|jpg|
jpeg|png|bmp|swf)$ 节点:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://halo;
expires 30d;
error_log /dev/null;
access_log off;
}
修改 server 节点中的 location ~ .*.(js|css)?$ 节点:
location ~ .*\.(js|css)?$
{
proxy_pass http://halo;
expires 12h;
error_log /dev/null;
access_log off;
}
完整配置文件示例(仅包含关键部分):
upstream halo {
server 127.0.0.1:8090;
}
server
{
...
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://halo;
expires 30d;
error_log /dev/null;
access_log off;
}
location ~ .*\.(js|css)?$
{
proxy_pass http://halo;
expires 12h;
error_log /dev/null;
access_log off;
}
location / {
proxy_pass http://halo;
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;
}
...
}
随后点击保存即可。如果配置不生效,请重载 Nginx 或者 重启 Nginx。
9.修改Halo配置
进入Halo后台后点击 系统 再点击 博客设置
将博客地址一栏改为
##如果你配置了SSL并开启了强制Https则改为
https://www.域名.后缀/
##若没有配置SSL
http://www.域名.后缀/
评论区