Назад | Перейти на главную страницу

nginx sub uri на другом корне

Я застрял на правиле nginx:

Мне нужно использовать Nginx на нашем сервере мониторинга, он использует Zabbix. Я успешно настроил nginx для zabbix, чтобы получить доступ monit.domain.com и он отправляет меня в zabbix).

Но я не могу настроить monit.domain.com/dashboard поэтому он отображает содержимое / usr / share / панель управления / страницы, это тоже php (ну, имеет значение только index.php, как вы уже догадались, это моя панель инструментов).

Вот конкретная конфигурация nginx для панели управления: внутри /etc/nginx/sites-enabled/monitoring.conf:

server {
    ######## server stuff with /location and ssl certs
    location /dashboard {
        alias /usr/share/dashboard/pages/index.php;
    }
}

Использование root не рекомендуется, следуя лучшим практикам nginx (и не работает, я все равно пробовал).

РЕДАКТИРОВАТЬ: вот ошибка, которую я получаю в журнале Nginx:

[error] 8247#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: XXX.XXX.XXX.XXX, server: monit.domain.com, request: "GET /dashboard/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "monit.domain.com"

Кто-нибудь может предложить мне, где посмотреть, спасибо.

Хорошо, я заставил его работать, как и должно, с этой конфигурацией:

server {
    listen 443 ssl;
    server_name monit.domain.com;
    index index.php;
    root /usr/share/zabbix;
    error_log /var/log/nginx/error.log notice;
    ssl on;
    # SSL stuff

    location / {
            root /usr/share/zabbix;
    }

    location /dashboard {
            root /usr/share;
            location ~ \.php$ {
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PHP_VALUE "
                 #many parameters
            ";
            #fastcgi_stuff .....
    }

В конце концов, переопределив новый корень и вложив сегмент php, чтобы указать, что он должен интерпретироваться, работает.