宝塔+雷池部署在同一个服务器(避坑)

宝塔+雷池部署在同一个服务器(避坑)

本教程适用于宝塔8.0.5版本、雷池5.2.0、linux系统服务器。和我一样,没钱/觉得单独买服务器部署雷池不划算的同学。

一.安装宝塔和配置环境

如何SSH连接这里不再赘述,请自行百度查阅教程。

前往宝塔官网根据自己的系统版本选择脚本安装宝塔,登录宝塔后根据提示安装Nginx,在左侧的菜单点击Docker根据提示安装Docker。
Docker安装图示

请注意:Nginx和Docker务必在宝塔内完成安装

二.修改Nginx端口以避免80和443端口占用

先随便创建个站点,然后启用一下ssl证书,再开启个强制HTTPS(避坑,下文会用到)

1.先把新建的站点的配置文件中的端口修改一下,这里http改为81,https改为444
端口修改图示

图中的if判断后面的端口是强制HTTPS的判断端口,(一定要改,不然反复重定向)如果你没有开启强制HTTPS就没有这个if判断代码,就不需要改了。

然后前往目录:

1
/www/server/panel/vhost/nginx

修改这个目录下的:

1
2
phpfpm_status.conf
0.default.conf

这两个文件夹的端口改为你刚刚站点设置的非标端口,比如我的是把443改为444,80改为81
端口修改图示
端口修改图示

请注意: 这里的0.default.conf这个文件中(也就是第二个图片)如果你没有网站开启ssl是没有443端口显示的,所以随便创建一个站点开启HTTPS非常重要

配置完可以重启一下Nginx,如果可以正常重启则说明配置正确。后期新增的网站域名一定要写a.com:xx,xx写你的非标端口,HTTPS端口也要改,否则默认使用80端口会出现各种意想不到的BUG

三.安装雷池

前往雷池官网复制对应系统脚本在SSH终端执行安装。

请注意: 如果你一开始没在宝塔安装Docker,雷池安装脚本会提示你并且在你确认后会安装Docker,但是这里安装的Docker在宝塔无法识别到,默认还是没有安装,所以在宝塔安装Docker是非常重要的

根据他的提示输入就行,有一个询问安装路径的提示,啥也不输入,默认就行(如果自定义安装路径,更新/卸载是个大麻烦)

然后会提示你绑定一个TOTP验证软件,这里推荐使用腾讯身份验证器绑定

请注入:这里有个坑,雷池的按钮有些在手机端单击无效,需要长按,长按即可解决,腾讯身份验证器TOTP绑定需要扫码,你可以用俩设备或者截图后用QR扫码提取一下验证代码验证,这里不再赘述。

获取访客真实IP等常规操作雷池官网均有教程,这里不再赘述。

主要说一下这个上游啥的咋请求,配置错误会出现502错误。

如果你选择雷池和宝塔通讯用HTTP协议就写HTTP协议你写的非标端口,我的示例是81端口,一定要注意,HTTP协议的上游写http://127.0.0.1:81注意协议和端口
雷池绑定HTTP图示

如果你选择雷池和宝塔通讯用HTTPS协议就写HTTPS协议你写的非标端口,我的示例是444端口,一定要注意,HTTPS协议的上游写https://127.0.0.1:444注意协议和端口
雷池绑定HTTPS图示

如果你都按照上面的教程操作,是不会出现端口被占用情况的,请自行排查问题关键。

目前发现如果已经部署了站点,雷池可能会出现莫名其妙的占用现象,目前暂时没发现有解决方案,只能重装

雷池安装防护、升级等雷池官网均有教程,请自行查阅,这里不再赘述。

四.解决宝塔无法获取访客真实IP的问题

1. 在雷池的防护站点-代理设置中的修改源IP获取方式为从HTTP-Header

HTTP-Header设置为:X-Forwarded-For

在下方的其他代理配置中勾选传递客户端连接的host和协议。

2. 在Nginx配置中的HTTP代码块新增以下代码:
1
2
3
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
real_ip_recursive on; #使用CDN时考虑,不然会无法获取访客IP只能获取CDN的IP

宝塔Nginx配置

 

就这么多了,如果你还有其他疑问,可以发邮件到我的邮箱,完结撒花!

 

注:以上内容仅供学习交流使用,禁止用于非法目的。请自觉遵守法律规定。本网站所有内容仅限于学习交流和娱乐,任何非法用途均由使用者个人承担责任。

鸣心/Write

宝塔+雷池部署在同一个服务器(避坑)
https://b.wihi.top/posts/e0850e5f.html
作者
鸣心
发布于
2024年3月10日
许可协议
本站全部文章除在文章开头特别声明外,均采用:BY-NC许可协议。转载请标明出处!