与宝塔面板配合使用
声明
- 本组织与宝塔面板官方无任何合作和利益关系。
- 您在使用期间如果有宝塔面板所带来的问题,均与我们无关。
- 开始之前,我们默认认为您已经安装好了宝塔面板,以及熟悉宝塔面板的使用。
- 建议使用宝塔面板最新版本,截止到撰写指南的时刻,宝塔面板的版本为
7.4.7
。
Halo 部署
参见 在 Linux 环境部署
信息
「作为服务运行」
部分可以不进行操作,只需测试启动无误即可,后面将使用宝塔面板软件包中的 Supervisor
托管 Halo 进程。
宝塔面板所需软件包下载
需要在宝塔面板的软件商店安装的软件包有:
- Nginx
- Supervisor
使用 Supervisor 托管 Halo 进程
打开 Supervisor 管理器的设置,点击 添加守护进程
按钮。
需要填写的表单信息如下:
- 名称:随意
- 启动用户:如果您按照 在 Linux 环境部署 创建了用于运行 Halo 的用户,则选择您创建的用户即可。否则选择默认的 root。
- 运行目录:运行包的存放目录,按照实际情况填写,需要保证你所选的目录包含运行包。
- 启动命令:
java -server -Xms256m -Xmx256m -jar halo.jar
填写完成之后点击 确定
按钮即可。
添加站点并配置 Nginx
- 点击左侧的
网站
菜单项,点击添加站点
按钮。
需要填写的表单信息如下:
- 域名:填写您已经解析到当前服务器公网 IP 的域名。
- PHP版本:纯静态
填写完成之后点击 提交
按钮即可。
- 设置 SSL
信息
在配置反向代理之前,我们推荐先设置好 SSL 证书。
- 可选择
宝塔 SSL
或者Let's Encrypt
进行证书申请。 - 需要开启右上角的
强制 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。
最后,访问域名即可进行 Halo 的初始化。