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

时间:2013-05-30 16:17:38

标签: nginx plesk document-root

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

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

现在apache意识到这一点,PHP文件没有任何问题,但是没有通过nginx处理的静态文件,我找不到404,因为我还必须为nginx重新配置document_root。

如果我复制静态文件,比如css或js在与它相同的dir级别上工作,但静态文件应该是“公共的”。

现在如何重新配置​​此nginx vhost的文档根目录?我试着添加

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

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

到这个vhost的plesk的“conf”directroy中的自定义nginx.conf文件但是不起作用。

1 个答案:

答案 0 :(得分:4)

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

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#为所有域应用新配置

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