Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: update bt-panel.md #80

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 14 additions & 109 deletions docs/getting-started/install/other/bt-panel.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,142 +8,47 @@ description: 与宝塔面板配合使用的指南
1. 本组织与宝塔面板官方无任何合作和利益关系。
2. 您在使用期间如果有宝塔面板所带来的问题,均与我们无关。
3. 开始之前,我们默认认为您已经安装好了宝塔面板,以及熟悉宝塔面板的使用。
4. 建议使用宝塔面板最新版本,截止到撰写指南的时刻,宝塔面板的版本为 `7.4.7`。
4. 建议使用宝塔面板最新版本,截止到撰写指南的时刻,宝塔面板的版本为 `7.9.2`。

## Halo 部署

参见 [在 Linux 环境部署](/getting-started/install/linux)

:::info
`「作为服务运行」` 部分可以不进行操作,只需测试启动无误即可,后面将使用宝塔面板软件包中的 `Supervisor` 托管 Halo 进程。
`「作为服务运行」` 部分可以不进行操作,只需测试启动无误即可,后面将使用宝塔面板站点中的 `JAVA项目管理器` 托管 Halo 进程。
:::

## 宝塔面板所需软件包下载

需要在宝塔面板的软件商店安装的软件包有:

1. Nginx
2. Supervisor

## 使用 Supervisor 托管 Halo 进程
## 在站点中添加Java项目

打开 Supervisor 管理器的设置,点击 `添加守护进程` 按钮。
1.点击`站点`-->`Java项目`-->`添加Java项目`

需要填写的表单信息如下:

- **名称**:随意
- **启动用户**:如果您按照 [在 Linux 环境部署](/getting-started/install/linux) 创建了用于运行 Halo 的用户,则选择您创建的用户即可。否则选择默认的 root。
- **运行目录**:运行包的存放目录,按照实际情况填写,需要保证你所选的目录包含运行包。
- **启动命令**:`java -server -Xms256m -Xmx256m -jar halo.jar`

填写完成之后点击 `确定` 按钮即可。

## 添加站点并配置 Nginx

1. 点击左侧的 `网站` 菜单项,点击 `添加站点` 按钮。

需要填写的表单信息如下:

- **域名**:填写您已经解析到当前服务器公网 IP 的域名。
- **PHP版本**:纯静态
- **项目类型**:Spring_boot
- **项目jar路径**:运行包的存放目录,按照实际情况填写,需要保证您所选的目录包含运行包。
- **运行名称**:随意
- **项目端口**:8090
- **项目JDK**:如果您按照 [在 Linux 环境部署](/getting-started/install/linux) 安装了 OpenJRE,则选择您所安装的目录即可。否则可以点击右边的`添加JDK信息`自行选择路径。
- **项目执行命令**:使用自动生成的执行命令即可。
- **项目用户**:如果您按照 [在 Linux 环境部署](/getting-started/install/linux) 创建了用于运行 Halo 的用户,则选择您创建的用户即可。否则选择默认的 root。
- **开机启动**:选择开机自动启动
- **绑定域名**:填写您已经解析到当前服务器公网 IP 的域名。

填写完成之后点击 `提交` 按钮即可。

2. 设置 SSL

:::info
在配置反向代理之前,我们推荐先设置好 SSL 证书。
:::
点击项目后的`设置`-->`SSL`

- 可选择 `宝塔 SSL` 或者 `Let's Encrypt` 进行证书申请。
- 需要开启右上角的 `强制 HTTPS`。

3. 修改配置文件

在根节点添加:

```nginx
upstream halo {
server 127.0.0.1:8090;
}
```

> 其中的 8090 为 Halo 的运行端口,请按需修改。

在 server 节点添加:

```nginx
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)$` 节点:

```nginx
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://halo;
expires 30d;
error_log /dev/null;
access_log off;
}
```

修改 server 节点中的 `location ~ .*\.(js|css)?$` 节点:

```nginx
location ~ .*\.(js|css)?$
{
proxy_pass http://halo;
expires 12h;
error_log /dev/null;
access_log off;
}
```

完整配置文件示例(仅包含关键部分):

```nginx
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 的初始化。