gpt4 book ai didi

nginx - plesk下修改nginx代理的文档根目录

转载 作者:行者123 更新时间:2023-12-04 02:54:55 27 4
gpt4 key购买 nike

我使用 Plesk 和 nginx 作为代理,效果很好。我在子域上安装了 laravel php 框架。该框架为公共(public)文件提供了一个目录“public”,所以我用这种方式用自定义 vhost.conf 文件更改了 document_root:

DocumentRoot "/var/www/vhosts/example.com/laravel.example.com/public"

现在 apache 意识到了这一点,PHP 文件可以正常工作,但不是通过 nginx 处理的静态文件,我得到 404 未找到,因为我还必须为 nginx 重新配置 document_root。

如果我将静态文件(如 css 或 js)复制到与 public 相同的目录级别,它就可以工作,但静态文件应该在“public”中。

现在如何为这个 nginx 虚拟主机重新配置文档根目录?我尝试添加

root /var/www/vhosts/example.com/laravel.example.com/public;

进入服务器{ ...和“then location/”指令...

到这个 vhost 的 plesk 的“conf”目录中的自定义 nginx.conf 文件,但不工作。

最佳答案

对于 Plesk 12.0 及更高版本,在“Web 服务器设置”中有用于指定域的附加 nginx/apache 指令的 UI 控件:

plesk customize nginx config

对于 Plesk 11.5,您可以添加自定义指令:

  1. mkdir/usr/local/psa/admin/conf/templates/custom/domain

  2. cp/usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php/usr/local/psa/admin/conf/templates/custom/domain/

  3. 在/usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php 添加:

    <?php if (file_exists($VAR->domain->physicalHosting->vhostDir . '/conf/nginx.conf')): ?>
    include <?php echo $VAR->domain->physicalHosting->vhostDir;?>/conf/nginx.conf;
    <?php endif ?>
  4. /usr/local/psa/admin/bin/httpdmng --reconfigure-all # 为所有域应用新配置

因此,如果域有 conf/nginx.conf - 它将包含在虚拟主机配置中。

关于nginx - plesk下修改nginx代理的文档根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16841163/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com