← 返回文章流

使用 1Panel 和内网穿透部署 WordPress 实例要点备忘

今天为了测试一个程序,需要同时搭建两个 WordPress 实例,特别是依赖于部分非缺省的 PHP 扩展,1Panel 应用商店里的 WordPress 对应的 PHP 环境相对固化,难以满足个性化需求,因此最终选择了手动创建网站实例,然后通过容器化方式单独挂载运行 PHP 和 MySQL。这样做的最大好处是自由度较高,可自由选择 PHP 或 MySQL 版本,如对 PHP 扩展有特定要求,也方便安装维护。 我的服务器在内网,通过 FRP 内网穿透方式实现公网访问,且两个实例均使用了 Redis 缓存。 今天在部署过程中踩了不少坑,为方便后续查阅,避免反复通过 AI 寻求解决办法,因此把几个核心要点记录下来。 一、frp 内网穿透下的端口暴露与 Nginx 配置 因为使用了 frp 进行内网穿透,外部流量经过穿透到达本地的 Nginx (具体为:OpenResty)时,会发生端口号暴露。例如访问 domain.com/wp-admin (最后没有以 / 结尾)时,会默认跳转为 domain.com:8585/wp-admin/ (出现的端口号 8585 即本地搭建时网站实例的端口号),导致无法访问。 1、修改本地 1Panel 的 Nginx 配置 为解决这个问题,需修改本地网站的 Nginx 配置文件,关闭绝对重定向和端口重定向: # 在 Nginx 站点的 server 块中添加或修改以下配置(找个位置靠前些的) server { # ... 其他配置 ... # 避免 Nginx 在做目录重定向时带上非标准端口号 absolute_redirect off; # 会让 Nginx 直接返回相对路径的重定向指令,比如让浏览器直接跳到 /wp-admin/,从而完美避开域名和端口的拼接错误。 port_in_redirect off; # ... 其他配置 ... } 剩余 5 行代码 展开剩余代码 2、检查反向代理的 Header 头(可选但推荐) 为了防止 WordPress 内部的其他链接也错误识别端口,需确保 frp 服务端在反向代理时,把真实情况传递给了内网。

来自 小十的个人博客作者主页
在原博客阅读全文 (新标签页打开)

以上内容来自博客订阅源,版权归原作者。关注作者后可以在 关注列表 第一时间查看作者文章。

一起聊聊 0

尊重不同观点

还没有评论。欢迎分享第一个想法。

RSS SUBSCRIPTIONS

选择 RSS 订阅

把博客汇的文章添加到你常用的阅读器。

关注文章 RSS 订阅本订阅需要登录后使用