Товарищи, есть локальный сервер с выходом в веб.
NGINX 1.6.2
панель Ajenty 1.x + Ajenti-V(обвязка веб хостинга)
Настроено на 80 порт.
Итак.
Открываем локально: 192.168.1.2 стартует морда phpmyadmin
Открываем через веб: domain.ru стартует морда phpmyadmin
Задача заставить NGINX открывать phpmyadmin по урл: domain.ru/phpmyadmin/
но
По урл 192.168.1.2/phpmyadmin/ - 404 ошибка
По урл domain.ru/phpmyadmin/ - 404 ошибка
Смотрим логи ошибок phpmyadmin:
2018/03/15 18:21:31 [error] 4055#0: *56 "/srv/phpmyadmin/phpmyadmin/index.html" is not found (2: No such file or directory), client: 94.25.169.95, server: example.com, request: "GET /phpmyadmin/ HTTP/1.1", host: "domain.ru"
Почему задваивается(дублируется) путь ???
Вот стандартный конфиг панели Ajenti созданный самой панелью:
#AUTOMATICALLY GENERATED - DO NO EDIT!
server {
listen *:80;
server_name example.com;
access_log /var/log/nginx/phpmyadmin.access.log;
error_log /var/log/nginx/phpmyadmin.error.log;
root /srv/phpmyadmin;
index index.html index.htm index.php;
Я же писал выше, что в логах видно что при любом раскладе, путь задвоен!
2018/03/15 18:21:31 [error] 4055#0: *56 "/srv/phpmyadmin/phpmyadmin/index.html" is not found (2: No such file or directory), client: 94.25.169.95, server: example.com, request: "GET /phpmyadmin/ HTTP/1.1", host: "domain.ru"
/srv/phpmyadmin/phpmyadmin/index.html
откуда берётся второй /phpmyadmin ?
файлы лежат в /srv/phpmyadmin
2018/03/16 11:31:10 [error] 7571#0: *28 FastCGI sent in stderr: "Unable to open primary script: /srv/phpmyadmin/phpmyadmin/index.php (No such file or directory)" while reading response header from upstream, client: 00.00.000.00, server: example.com, request: "GET /phpmyadmin/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/ajenti-v-php-fcgi-phpmyadmin-php-fcgi-0.sock:", host: "domain.ru"
#AUTOMATICALLY GENERATED - DO NO EDIT!
server {
listen *:80;
access_log /var/log/nginx/phpmyadmin.access.log;
error_log /var/log/nginx/phpmyadmin.error.log;
root /srv/phpmyadmin;
index index.html index.htm index.php;
location /phpmyadmin {
alias /srv/phpmyadmin;
index index.php index.html;
}
location ~ [^/]\.php(/|$) {
fastcgi_index index.php;
include fcgi.conf;
fastcgi_pass unix:/var/run/ajenti-v-php-fcgi-phpmyadmin-php-fcgi-0.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Евгений Долбановский, да, хотел в итоге написать так, как Вы сделали (изменить root)
Устанавливаются переменные в nginx коммандой set. Например так: set $root_path /srv/$host;