Plesk Onyx下的自定义nginx配置

时间:2017-06-12 04:19:43

标签: nginx plesk

问题Modify document root for nginx proxy under plesk中描述的方法不再适用于Onyx,或者不再需要,但我想要一个完全自定义的nginx配置。

在Plesk Onyx下,他们已经从/var/www/vhosts/example.com/conf/nginx.conf移动了配置目录,该目录可以使用先前版本的Plesk中的配置变量使用$VAR->domain->physicalHosting->vhostDir . '/conf/nginx.conf'访问/var/www/vhosts/system/example.com/conf/nginx.conf,我不会不知道该目录是否有变量,而不是我所知道的变量。

您可以使用控制面板包含自定义nginx服务器级配置,也可以编辑通过$VAR->domain->physicalHosting->customNginxConfigFile引用的vhost_nginx.conf

但是如果你想编写服务器容器之外的配置命令,我一直在尝试这样的事情:

mkdir -p /usr/local/psa/admin/conf/templates/custom/domain/
emacsvimnano /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php

<?php 
/** 
 * @var Template_VariableAccessor $VAR 
 * @var array $OPT 
 */ 
?> 
<?php $isCustomConfig=false; ?> 
<?php $customConfigFilename='/var/www/vhosts/system/'.$VAR->domain->asciiName.'/conf/custom_nginx.conf' ?> 
<?php if (is_file($customConfigFilename)): ?> 
    include "<?php echo $customConfigFilename ?>";
    <?php $isCustomConfig=true; ?>
<?php endif ?> 
<?php if($isCustomConfig!==true): ?> 
   <?php include '/usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php'; ?> 
<?php endif ?> 

有更简单的方法吗?

请注意,您无法使用$VAR->includeTemplate('domain/nginxDomainVirtualHost.php'),因为这最终会成为循环引用。

如果您只想替换配置的SSL版本并单独保留常规版本,则可以将&& $OPT['frontendPort'] === '443'添加到包含条件中。

0 个答案:

没有答案