Измените корень документа для прокси nginx под plesk

Я использую Plesk с nginx в качестве прокси, и он работает хорошо. Я установил фреймворк laravel на поддомен. фреймворк предоставляет "общедоступный" директиву для общедоступных файлов, поэтому я изменил document_root с помощью специального файла vhost.conf следующим образом:

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

Теперь apache знает об этом, файлы PHP работают без проблем, но не статические файлы, которые обрабатываются через nginx, я получаю 404 not found, потому что я также должен перенастроить document_root для nginx.

Если я копирую статические файлы, такие как css или js, на тот же уровень каталога, что и общедоступный, он работает, но статические файлы должны быть "общедоступными".

как теперь перенастроить корень документа для этого виртуального хоста nginx? Я пытался добавить

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

на сервер {... и директиву "затем местоположение /" ...

в специальный файл nginx.conf в директории "conf" plesk для этого виртуального хоста, но не работает.


person Danzzz    schedule 30.05.2013    source источник


Ответы (1)


Для Plesk 12.0 и более поздних версий есть элементы управления пользовательским интерфейсом для указания дополнительных директив nginx / apache домена в «Настройках веб-сервера»:

plesk настроить конфигурацию nginx

Для Plesk 11.5 вы можете добавить настраиваемую директиву:

  1. mkdir / usr / local / psa / admin / conf / templates / custom / домен

  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 - он будет включен в конфигурацию виртуального хоста.

person Oleg Neumyvakin    schedule 31.05.2013
comment
отлично работал, спасибо и извините за позднее возвращение ... после перезапуска nginx у меня есть следующие предупреждения: nginx: [предупреждение] конфликтующее имя сервера laravel.example.com на 118.xxx.104.xxx:80, игнорируется ... но я работает сейчас - person Danzzz; 15.06.2013
comment
похоже, есть дублирование директивы ServerName в conf / nginx.conf. Я думаю, вы можете поиграться с удалением повторяющихся директив. - person Oleg Neumyvakin; 15.06.2013