侧边栏壁纸
  • 累计撰写 22 篇文章
  • 累计创建 0 个标签
  • 累计收到 0 条评论

Linux环境宝塔面板搭建Halo博客教程

LuoTuo
2022-03-17 / 0 评论 / 0 点赞 / 357 阅读 / 2,937 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-06-20,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

参考: 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.域名.后缀/

0

评论区