1Panel 避坑/使用指南-比1Panel官方教程还有用

本文详细指导了如何在WordPress中启用HSTS、处理CDN和WAF重定向、1Panel与宝塔共存问题,以及解决1Panel中遇到的各类技术问题,包括网络连接、cron脚本执行等。
摘要由CSDN通过智能技术生成

当加入HSTS预加载列表检测失败时

你应该点击对应网站的配置按钮

image

image1872×969 80.6 KB

随后点击配置文件

找到类似下面这行

image

image1872×969 64.1 KB

如果找不到,你可以按下Ctrl + F打开查找,并输入"Strict-Transport-Security"

image

image1872×969 66.9 KB

输入内容后点击一下next即可自动定位到该行

请重点观察本行是否有"includeSubdomains; preload"的字样,以及max-age等号后的数字是否大于31536000(1年,但推荐63072000)

如果未来1Panel更新了其他原生兼容的web服务器(而不是ols这样的社区套壳),请参考此文章来做出对应web服务器的配置修改

WordPress启用HSTS,增强用户信任和网站安全性-风屿岛 (biliwind.com)

接入CDN、WAF后提示网页重定向次数过多

请首先尝试将CDN、WAF的上游(回源)服务器配置为https地址

image

image665×695 15 KB

上图为雷池WAF的示例

如果依然不行,请尝试将此处改为“http可直接访问”

image

image1872×969 64.2 KB

从其他环境迁移到1Panel后出现403错误

请仔细检查你的网站根目录中是否含有一个叫做“.user.ini”的文件

image

image1872×969 80.2 KB

image

image1872×969 66.6 KB

如果有,删除它,因为它可能包含了错误的执行位置限制路径

1Panel是否可以和宝塔共存

可以,你可以在服务器上同时安装1Panel和宝塔,也可以在1Panel中安装宝塔,或者在1Panel中安装1Panel

image

image1872×969 52.1 KB

但这么做的前提是你已经引入了第三方应用商店

为什么雨云有宝塔虚拟主机却没有1Panel虚拟主机

因为宝塔虚拟主机使用了LXD技术,这是宝塔所支持的,但1Panel依赖docker,LXD虚拟化中不能运行docker容器化,所以不支持

雨云的云服务器、游戏云是支持的,因为其使用了KVM技术

为什么存储空间越用越少

可能是由于未使用的docker镜像占据了大量空间

image

image1872×969 84.1 KB

以上操作可以释放镜像,但当镜像过多时,1Panel有bug

此bug复现方式很简单,当你所在的页面没有状态是“未使用”的镜像时,点击清理镜像会无效

image

image1872×969 74.7 KB

临时修复方法是寻找其他分页,找到有“未使用”状态的镜像后再次清理即可清理全部未使用镜像

但是此方法可能会删掉你创建的运行环境镜像

1Panel申请证书时莫名其妙失败

此方法多半由于站点是由反向代理访问的,解决方法是不在服务器上生成证书,而是使用第三方服务生成

需要多个相同PHP版本但不同扩展的运行环境

此操作在宝塔上并不可行,但1Panel可以这样做

如果你的a应用需要PHP80+扩展X,b应用需要PHP80+扩展Y,但扩展X和扩展Y不支持共存,那么你可以使用两个运行环境

你只需要在创建运行环境时修改镜像名即可

image

image1872×969 56.9 KB

创建完成后的两个运行环境互相独立,互不影响

需要的扩展不在官方支持列表中

根据官方文档介绍,如果你要找的PHP扩展不在扩展选择列表中,可以手动输入然后选择第一个

image

image1872×969 49.9 KB

如扩展“zip”不在此列表中,我可以手动输入zip并选择第一个

image

image1872×969 54.8 KB

但如果不在PHP扩展列表中,那么需要手动安装

以魔方财务开心版为例,需要安装一个叫做idcsmart.so的扩展,但其并不在官方的扩展列表中,所以我们需要按照正常流程创建完运行环境和网站,并且在容器页面根据镜像名、容器名以及运行时间来判断哪个是刚刚创建的网站的容器

image

image1872×969 87 KB

假设这个容器就是要增加自定义插件的容器

image

image1872×969 79.3 KB

首先要点击容器名

image

image1872×969 82.1 KB

向下拉,复制MergedDir后面引号中的内容

image

image1872×969 78.7 KB

访问这个目录,分别点进/usr/local/lib/php/extensions目录中,之后打开里面这个no开头的文件夹

image

image1872×969 54.2 KB

将自定义扩展上传至此目录

image

image1872×969 64.3 KB

在对应网站的PHP配置文件行末添加一个引用语句即可

image

image1872×969 59 KB

一般情况下,需要添加的内容为

 

extension=你的扩展名

注意是包含扩展名的全名

也有可能是

 

extension=/path/to/extension/你的扩展名

注意,此路径需要根据实际进行修改,例如此处可以修改为

 

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20200930/idcsmart.so

之后重启此容器即可
注意,这种方式添加的扩展会在重建容器后丢失

创建网站时为什么要填写PHP-FPM端口

image

新手可能会问,这是我网站的访问端口吗?我是需要反向代理这个端口吗?

都不是,这是web服务器与PHP通信用的端口,宝塔默认使用套接字连接,所以你压根看不到这个设置,而1Panel使用TCP连接,所以需要这个端口来让PHP与web服务器进行通信

我只能使用openresty吗

1Panel官方支持且能用的web服务器只有openresty

image

image1872×969 62.3 KB

虽然官方有ols web服务器,但这东西是从社区搬过来的,并没有做出适配,你需要自己为ols写配置文件、编译lsphp等,1Panel中的任何操作都无法同步进ols中

当然,你可以使用nginx、openresty、tengine等基于nginx(或完全兼容nginx配置文件的web服务器)

首先你需要他们的docker镜像,但是我建议使用dockerfile构建一个并加入lua模块

之后找到openresty的docker容器,点击编辑

image

image1872×969 85.3 KB

之后选择你刚刚构建好的镜像,点击确认完成替换

image

image1872×969 88.4 KB

容器编辑需要重建容器

其实某些操作并不需要重建,而是使用update语句

image

证据:未持久化的数据并没有丢失,且更改生效,并且运行时间也正常(没有几秒前启动等明显的重启痕迹)

MySQL、Redis等无法连接

这多数出现在PHP网站项目中或任何1Panel的应用中

这是因为1Panel中的所有docker部署的应用都会默认归为一个名为1panel-network的桥网络中

image

image1872×969 52.4 KB

并且1Panel在创建数据库等容器时指定了host名,所以需要通过mysql:3306,redis:6379来连接,而不是使用127.0.0.1这样的回环IP,因为回环IP只是相对于运行环境所在容器的,并不是相对于主机的,所以无法建立连接

openresty属于一种特殊的应用,它默认是host网络,即与服务器主机共享一个IP地址,但此共享并不是NAT(网络地址转换)共享IP,而是让容器内的进程直接获得与宿主机相同的网络权限,可以直接占用宿主机的网络端口,直接使用宿主机的IP地址,所以在反向代理时可以使用127.0.0.1

无法使用mysql:3306作为数据库连接地址

这种问题一般出现在某些项目中,原因是项目的验证逻辑认为mysql并不是一个有效的网络地址,而类似127.0.0.1,example.com才是有效的网络地址,我们可以将mysql的ip地址填进去

image

image1872×969 67.6 KB

找到你的MySQL容器,即可看到此容器在这个桥网络中的内网IP地址,使用此地址连接即可(但不稳定,易受到外界因素干扰,如容器非正常顺序启动)

如果不希望使用此方法,可以将你的应用改为host网络,这样就可以使用127.0.0.1这样的回环IP进行连接(我在赫兹监控上使用的就是这种方法)

使用服务器级cron代替wp-cron执行时未找到文件

你很可能将cron目录填写错了

image

image1872×969 91.3 KB

这虽然是正确的网站目录,但却是从容器中映射出来的,在容器中执行cron时肯定找不到这个路径

正确的方法是使用cron时选择网站所在的PHP容器,并且使用以下的执行命令

image

image885×667 16.4 KB

 

php /www/sites/www.example.com/index/wp-cron.php

  • 35
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cd C:\Program Files\FlightGear fgfs --fg-root=C:\Program Files\FlightGear\data --aircraft=ufo --in-air --fdm=null --telnet=5501 --telnet=5502 --telnet=5503 --disable-ai-traffic --disable-real-weather-fetch --disable-random-objects --disable-terrasync --disable-clouds --disable-sound --disable-panel --disable-hud --disable-specular-highlight --timeofday=noon --prop:/sim/rendering/multi-sample-buffers=1 --prop:/sim/rendering/multi-samples=2 --prop:/sim/rendering/draw-mask-clouds=false --prop:/sim/rendering/draw-mask-terrain=true --prop:/sim/rendering/draw-mask-objects=true --prop:/sim/rendering/draw-mask-lights=true --prop:/sim/rendering/draw-mask-internal=true --prop:/sim/rendering/draw-mask-cockpit=true --prop:/sim/rendering/draw-mask-effects=true --prop:/sim/rendering/draw-mask-overlay=true --prop:/sim/rendering/draw-mask-world=true --prop:/sim/rendering/draw-mask-panel=true --prop:/sim/rendering/draw-mask-vr=true --prop:/sim/rendering/draw-mask-2d=true --prop:/sim/rendering/draw-mask-3d=true --prop:/sim/rendering/draw-mask-sky=true --prop:/sim/rendering/draw-mask-shadows=true --prop:/sim/rendering/draw-mask-cabin=true --prop:/sim/rendering/draw-mask-weather=true --prop:/sim/rendering/draw-mask-stereo=true --prop:/sim/rendering/draw-mask-internal-cockpit=true --prop:/sim/rendering/draw-mask-internal-windows=true --prop:/sim/rendering/draw-mask-internal-instruments=true --prop:/sim/rendering/draw-mask-internal-overlay=true --prop:/sim/rendering/draw-mask-internal-effects=true --prop:/sim/rendering/draw-mask-internal-lights=true --prop:/sim/rendering/draw-mask-internal-world=true --prop:/sim/rendering/draw-mask-internal-panel=true --prop:/sim/rendering/draw-mask-internal-3d=true --prop:/sim/rendering/draw-mask-internal-sky=true --prop:/sim/rendering/draw-mask-internal-cabin=true --prop:/sim/rendering/draw-mask-internal-weather=true --prop:/sim/rendering/draw-mask-internal-stereo=true --prop:/sim/rendering/draw-mask-internal-shadow=true --prop:/sim/rendering/draw-mask-internal-stall=true --prop:/sim/rendering/draw-mask-internal-aoa=true --prop:/sim/rendering/draw-mask-internal-thermal=false --prop:/sim/rendering/draw-mask-internal-ice=false --prop:/sim/rendering/draw-mask-internal-glass=true --prop:/sim/rendering/draw-mask-internal-dead=true --prop:/sim/rendering/draw-mask-internal-reflection=true --telnet=127.0.0.1:5501 --disable-panel --disable-hud --disable-specular-highlight --disable-clouds --disable-sound --timeofday=noon --enable-hud-3d=no --enable-hud-2d=yes --enable-panel=no --enable-sound=no程序显示错误
05-10
这个命令有些问题。你需要在命令行中输入这个命令,并且将其中的双引号去掉。此外,你需要确保FlightGear已经安装在C:\Program Files\FlightGear目录下,并且你已经选择了一个可用的飞行器(例如: ufo)。最后,如果你需要使用telnet,你需要指定不同的端口。以下是更正后的命令: ``` cd C:\Program Files\FlightGear fgfs --fg-root=C:\Program Files\FlightGear\data --aircraft=ufo --in-air --fdm=null --telnet=5501 --telnet=5502 --telnet=5503 --disable-ai-traffic --disable-real-weather-fetch --disable-random-objects --disable-terrasync --disable-clouds --disable-sound --disable-panel --disable-hud --disable-specular-highlight --timeofday=noon --prop:/sim/rendering/multi-sample-buffers=1 --prop:/sim/rendering/multi-samples=2 --prop:/sim/rendering/draw-mask-clouds=false --prop:/sim/rendering/draw-mask-terrain=true --prop:/sim/rendering/draw-mask-objects=true --prop:/sim/rendering/draw-mask-lights=true --prop:/sim/rendering/draw-mask-internal=true --prop:/sim/rendering/draw-mask-cockpit=true --prop:/sim/rendering/draw-mask-effects=true --prop:/sim/rendering/draw-mask-overlay=true --prop:/sim/rendering/draw-mask-world=true --prop:/sim/rendering/draw-mask-panel=true --prop:/sim/rendering/draw-mask-vr=true --prop:/sim/rendering/draw-mask-2d=true --prop:/sim/rendering/draw-mask-3d=true --prop:/sim/rendering/draw-mask-sky=true --prop:/sim/rendering/draw-mask-shadows=true --prop:/sim/rendering/draw-mask-cabin=true --prop:/sim/rendering/draw-mask-weather=true --prop:/sim/rendering/draw-mask-stereo=true --prop:/sim/rendering/draw-mask-internal-cockpit=true --prop:/sim/rendering/draw-mask-internal-windows=true --prop:/sim/rendering/draw-mask-internal-instruments=true --prop:/sim/rendering/draw-mask-internal-overlay=true --prop:/sim/rendering/draw-mask-internal-effects=true --prop:/sim/rendering/draw-mask-internal-lights=true --prop:/sim/rendering/draw-mask-internal-world=true --prop:/sim/rendering/draw-mask-internal-panel=true --prop:/sim/rendering/draw-mask-internal-3d=true --prop:/sim/rendering/draw-mask-internal-sky=true --prop:/sim/rendering/draw-mask-internal-cabin=true --prop:/sim/rendering/draw-mask-internal-weather=true --prop:/sim/rendering/draw-mask-internal-stereo=true --prop:/sim/rendering/draw-mask-internal-shadow=true --prop:/sim/rendering/draw-mask-internal-stall=true --prop:/sim/rendering/draw-mask-internal-aoa=true --prop:/sim/rendering/draw-mask-internal-thermal=false --prop:/sim/rendering/draw-mask-internal-ice=false --prop:/sim/rendering/draw-mask-internal-glass=true --prop:/sim/rendering/draw-mask-internal-dead=true --prop:/sim/rendering/draw-mask-internal-reflection=true ``` 请注意,如果你需要使用telnet连接到FlightGear,你需要在另一个命令行窗口中输入telnet命令,例如: ``` telnet localhost 5501 ``` 这将连接到FlightGear的第一个telnet端口。如果你想连接到其他端口,你需要相应地更改端口号。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值