在 Plesk 中使用不同路径在同一子域上托管 Strapi 和 Laravel

问题描述 投票:0回答:1

我正在使用 Plesk 托管我的域,即 he.designated.site。我正在尝试在此子域上托管 Strapi 应用程序和 Laravel 应用程序。挑战在于我希望可以在 /admin 路径访问 Strapi 应用程序,而应该可以在根路径 / 访问 Laravel 应用程序。此外,Strapi 请求可以具有 /ck5editor/xxxx 等路径,我需要由 Strapi 应用程序处理这些路径。

我本质上需要在 Plesk 托管的子域中拥有两个容器,其中每个容器的请求都会发送到自身。在 Plesk 中设置此配置的最佳方法是什么?

以下是一些具体细节和要求:

  • Strapi 应该可以在 he.designated.site/admin 上找到。
  • Laravel 应该可以在 he.designated.site/ 上找到。
  • Strapi 请求,尤其是那些具有 /ck5editor/xxxx 等路径的请求,应由 Strapi 应用程序处理。
  • 对 /admin 的请求应发送至 Strapi,所有其他请求应发送至 Laravel。

我研究了反向代理设置,但我愿意接受不同的解决方案和最佳实践,以在 Plesk 中实现此配置。任何有关如何在 Plesk 环境中有效设置此功能的指导或建议将不胜感激。

提前感谢您的帮助!

laravel apache nginx reverse-proxy web-hosting
1个回答
0
投票

在 Plesk 中使用基于特定路径的路由在单个域上设置多个应用程序(如 StrapiLaravel)可能具有挑战性,但通过正确的配置是可行的。

您的目标是将流量引导至

/admin
并将某些其他路径引导至 Strapi,而所有其他流量均流向您的 Laravel 应用程序。此设置通常涉及配置 反向代理或自定义重写规则

  • 以下是在 Plesk 中实现此目的的一般方法:

  • 第 1 步:在容器或目录中设置应用程序 Strapi:将 Strapi 应用程序安装在目录或容器中。确保将其配置为在特定端口上运行(如果尚未配置)。 Laravel:在根目录中安装您的 Laravel 应用程序(public_html 或 httpdocs,具体取决于您的 Plesk 设置)。

  • 第2步:配置Nginx(反向代理) Plesk 允许自定义 Nginx 配置。您需要将 Nginx 设置为反向代理,以根据请求路径将流量引导至正确的应用程序。

访问 Plesk 面板:登录您的 Plesk 面板。

转到域设置:导航至

the.designated.site
的设置。

Nginx 设置:找到自定义 Nginx 设置的部分。它通常位于“

Apache & nginx Settings
”部分。

自定义配置:您需要添加自定义配置规则。这是一个基本模板:

location /admin {
    proxy_pass http://localhost:<STRAPI_PORT>;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

location /ck5editor/ {
    proxy_pass http://localhost:<STRAPI_PORT>;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

location / {
    # This is for Laravel
    try_files $uri $uri/ /index.php$is_args$args;
}

<STRAPI_PORT>
替换为运行 Strapi 的端口号。确保
location / block
位于末尾,因为它充当所有其他请求的后备。

保存并测试:保存更改后,测试配置。确保对

he.designated.site/admin
he.designated.site/ck5editor/xxxx
的请求正确路由到 Strapi,而其他请求则转到 Laravel

  • 第 3 步:根据需要更新应用程序设置 Strapi:确保 Strapi 知道它正在子路径下访问 (
    /admin
    )。某些应用程序需要针对子路径部署进行特定配置。 Laravel:Laravel 应该照常工作,但始终进行测试以确认。
  • 第 4 步:彻底测试 配置完成后,彻底测试所有路由:

访问

he.designated.site/admin
和各种 Strapi 端点以确保它们正确加载。

访问您的 Laravel 应用程序的路由以确认它们正在正确服务。

重要注意事项 SSL 证书:如果您使用 HTTPS,请确保您的 Nginx 配置能够正确处理 SSL。您可能需要在 Nginx 配置中添加 SSL 指令。

Plesk 更新:请注意,Plesk 更新或控制面板中的某些更改可能会覆盖自定义 Nginx 配置。保留配置备份是一个很好的做法。

此设置假设您对 Nginx 和 Plesk 有很好的了解。如果您不熟悉这些技术。此外,具体步骤可能会有所不同,具体取决于您的 Plesk 版本和服务器配置。

© www.soinside.com 2019 - 2024. All rights reserved.