Я использую официальную версию Windows nginx. Я хочу указать Windows эквивалент этой конфигурации
location /static/ {
alias /home/user/staticfiles/;
}
Как мне указать пути к файлам Windows в директиве псевдонима? Это вообще возможно?
Эти ответы должны быть устаревшими. Использование абсолютных путей nginx 1.3.8 с прямой косой чертой работает. Обратная косая черта, кажется, работает, но должна быть удвоена. Если их нет, то некоторые, такие как трейлинг \"
, воспринимаются буквально.
location /static/ {
# alias "C:\\foo\\bar\\...\\static\\";
alias "C:/foo/bar/.../static/";
expires 90d;
}
Кавычки могут не требоваться, но они кажутся хорошей идеей в случае встроенных пробелов.
Еще одна вещь, которую я заметил, - это то, что важно сопоставить путь URL и псевдонима в отношении окончания с косой чертой или нет - несоответствие, и это не работает.
Если вы попытаетесь указать абсолютный путь, как ...
... затем при запросе файла из этого места вы, вероятно, увидите ошибки в C: \ nginx \ logs \ error.log, например:
При настройке nginx в Windows укажите любые пути относительно каталога C: \ nginx. Это работает:
Лично я был счастлив узнать об этом, потому что это делает мои конфигурации nginx немного более переносимыми между Windows и Linux, чем я ожидал. Чтобы превратить файл конфигурации Linux в тот, который работает в Windows, для меня это просто:
источник
Вы можете попробовать это:
установить в nginx.conf
location / static / {псевдоним / nginx / html / staticfiles /; }
источник
кажется, что псевдоним вообще не работает для моей системы Windows. Я пытался набрать
но даже это не работает. И я не могу найти способ вывода местоположения после перезагрузки файла конфигурации с помощью nginx. Так что просто не используйте псевдоним в Windows для nginx.
источник
alias ../../cde/folder;
предположим, что ваш файл nginx.exe находится в каталоге d: / abc / nginx, а папка, в которой вы пытаетесь создать псевдоним, - в папке d: / cde /. Некоторые источники упоминают, что nginx был жестко запрограммирован с путем/cygdrive/c/nginx/
, в этом случаеalias /cygdrive/d/path/
следует использовать, но это не работает для меня. Также стоит упомянуть, что косой чертой в конце пути псевдонима не следует пренебрегать.Для Nginx в Windows вы должны использовать этот метод:
location / foo {
root C: // pathtoyourfile / folder1 / folder2;
} где foo - это фактическая папка внутри folder2
источник