Перейти к содержимому
Калькуляторы

Вопрос по настройке nginx

Переношу сервер с мониторингом и решил заодно сменить apache на nginx.

В "односайтовом" режиме (один домен - один сайт) все получилось, теперь хочу сделать более сложную конфигурацию.

Файловая система:

/srv/netmon/www    - корень www
  cacti/           - корень Cacti
  (...)            - еще несколько веб-сервисов

Конфигурация следующая:

server {

        listen          80;
        server_name     netmon;
        root            /srv/netmon/www;
        index           index.html;
        access_log      /srv/netmon/log/access.log;
        error_log       /srv/netmon/log/error.log;

        location = /favicon.ico {
                access_log      off;
                log_not_found   off;
        }

        location / {
                try_files       $uri $uri/ =404;
        }

        location ~ /\.ht {
                deny            all;
        }

        location /cacti/ {
                root            /srv/netmon/www/cacti;
                index           index.php;
                access_log      /srv/netmon/log/access_cacti.log;
                error_log       /srv/netmon/log/error_cacti.log;
                location ~ [^/]\.php(/|$) {
                        fastcgi_pass    unix:/var/run/php/cacti.sock;
                        fastcgi_split_path_info ^(.+\.php)(/.+)$;
                        fastcgi_index   index.php;
                        fastcgi_param   DOCUMENT_ROOT   /srv/netmon/www;
                        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_script_name;
                        include fastcgi_params;
                        fastcgi_intercept_errors        on;
                        fastcgi_ignore_client_abort     off;
                        fastcgi_connect_timeout         60;
                        fastcgi_send_timeout            180;
                        fastcgi_read_timeout            180;
                        fastcgi_buffer_size             128k;
                        fastcgi_buffers                 4 256k;
                        fastcgi_busy_buffers_size       256k;
                        fastcgi_temp_file_write_size    256k;
                }
        }

}

В моем представлении должно работать так.

Открываю хост <netmon>/cacti/.

Запросу соответствует директива "location /cacti/", в которой задается root, index, логи.

Внутри этой директивы есть вложенная, которая соответствует любым php-файлам, в частности index.php.

Далее работает php-fpm, в который по идее должен передаться путь /cacti/index.php.

Однако сайт не работает, а в логах такая ошибка: "/srv/netmon/www/cacti/cacti/index.php" is not found (2: No such file or directory)

Не могу понять, почему cacti удваивается. Я ведь переопределяю root для данной директивы и задаю в качестве корня родительский каталог.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вроде бы разобрался.

Путь в uri никуда не девается, то есть он добавляется к root, вот и получается удвоение.

Убрал вообще root из секции, теперь сайт запустился.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.