我使用Nginx作为代理的Plesk,效果很好.
我在子域上安装了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)在与public相同的目录级别上,则可以使用,但静态文件应位于“ public”中.
现在如何为此Nginx虚拟主机重新配置文档根目录?我试图添加
root /var/www/vhosts/example.com/laravel.example.com/public;
进入服务器{…和“ then location /”指令…
最佳答案
对于Plesk 12.0及更高版本,UI控件可在“ Web服务器设置”中指定域的其他Nginx / apache指令:
> 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#为所有域应用新配置
结果,如果domain具有conf / Nginx.conf-它将被包含在虚拟主机配置中.