У меня есть простой стек Ubuntu 10.10, Nginx, Mercurial, PHP и MySQL.
Текущая структура файла:
/opt/nginx/html - document root for nginx (where my website files are)
/opt/nginx/html/.hg - repository data
/usr/share/mercurial/ - where the templates/static folder is
Я использую hg -serve, которая находится на локальном хосте: 8000.
У меня нет четкого понимания того, как mercurial связан с его ресурсами после этого момента.
У меня есть следующая конфигурация Nginx для моей желаемой точки входа:
location /mercurial/ {
auth_basic "Authentication";
auth_basic_user_file /opt/nginx/html/.hg/file.password;
proxy_pass http://localhost:8000/;
}
Это работает нормально, за исключением полной загрузки Mercurial Instance после аутентификации. Я получаю страницу, которую ожидаю увидеть, но ссылки / static не работают, и ссылки, на которые я нажимаю, например, один из наборов изменений, также не работают (они не найдены или возвращают меня на сломанную главную страницу). Он пытается найти эти файлы по адресу my-ip-address / static / ..., что неверно.
Каталог пользовательского интерфейса mercurial находится за пределами моего документа root / opt / nginx / html.
Путь, где / static на самом деле: / usr / share / mercurial / templates
Это проблема? Что файлы находятся вне моего корня документа nginx?
Когда работает Mercurial, где находится / rev и как я могу убедиться, что Mercurial работает правильно с правильными URL ресурсов?
Примечание : Просто перейдите по my-ip-адресу: 8000 работает на 100%. Ничего не сломано и нет CSS или JS отсутствует. Проблема происходит в отношении proxy_pass.
Как правильно связать эти файлы? Требуется ли перезапись?