我使用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文件但是不起作用。
答案 0 :(得分:4)
对于 Plesk 12.0及更高版本,有UI控件在“Web服务器设置”中指定域的附加nginx / apache指令:
对于 Plesk 11.5 ,您可以添加自定义指令:
mkdir / usr / local / psa / admin / conf / templates / custom / domain
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php / usr / local / psa / admin / conf / templates / custom / domain /
添加/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 ?>
/ usr / local / psa / admin / bin / httpdmng --reconfigure-all#为所有域应用新配置
结果,如果域有 conf / nginx.conf - 它将被包含在虚拟主机配置中。