Quantcast
Channel: Nginx Forum - Nginx Mailing List - Russian
Viewing all articles
Browse latest Browse all 3102

Странно работают относительные пути под windows (no replies)

$
0
0
Доброго дня!

Вся проблема в том, что я хочу использовать определенную структуру каталогов:

c:\admin\nginx\* - сервер nginx
c:\admin\php\* - php-интерпретатор
c:\admin\public_html\* - содержит файлы сервера (html/php/jpg/...)

т.е. каталог “public_html”, должен находится вне каталога “nginx”, на уровень выше.
Пытаюсь использовать, при сборке под Windows, следующий конфиг:
http {
...
server {
...
#root c:/admin/public_html; # работает корректно
#root /admin/public_html; # работает корректно
root ../public_html; # не работает!
#root ./../public_html; # не работает!

location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
try_files $fastcgi_script_name =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_intercept_errors on;
}
}
}

при попытке выполнить php-скрипт nginx возвращает:
"No input file specified."
Причем статические файлы работают прекрасно.

если поместить каталог public_html в внутрь каталога nginx, тогда используя
root public_html;
все работает замечательно, но меня это не очень устраивает.

Предполагается, что сам каталог "c:\admin" будет иметь не фиксированное имя или путь и хотелось бы отвязать nginx от всех этих сложностей.
Все внешние пути будут прописываться конфиге который и будет запускать nginx, таким образом, чтобы при изменении директории "admin" не пришлось править "root" в "nginx.conf".

Пытался перебросить путь к "root" через запуск:
>nginx -g "env ROOT_DIR=/admin/public_html;"
и принять с помощью:
perl_set $rootDir 'sub { return $ENV{"ROOT_DIR"}; }';
или
set_by_lua $rootDir 'return os.getenv("ROOT_DIR")';
но, как я понял в Windows сборке нету соответствующих модулей, а собрать их самостоятельно для меня затруднительно:)
Буду очень признателен за помощь.
Спасибо.

Viewing all articles
Browse latest Browse all 3102

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>