Эй, как вы там там настраиваете этот свой Nginx в Убунто?
Пытаюсь сконфинурять nginx для tt-rss в убунто. Он есть в репах, что удобно. Вебню свою ставит в /usr/share/tt-rss/www. Проблема в том, что получаю 404 при попытке заточить вирт.путь прямо в этот каталог.
Конфиг выглядит примерно так:
В последней директиве location перепробовал все комбинации с завершающими слешами (добавлял-убирал), в т.ч. заменив root на alias. В любом случае при попытке доступа Nginx выдаёт 404.
При этом, если в /var/www/html создаю симлинк на /usr/share/tt-rss/www (команда ln -s /usr/share/tt-rss/www /var/www/html/ttrss ) - то так работает как ни в чем ни бывало. А через виртуальный каталог - ни за что не хочет. Что за фигня?
Re:Эй, как вы там там настраиваете этот свой Nginx в Убунто?
Убунта тут ни при чём, потому что root в nginx не так работает. В твоём конфиге он при открытии /tt-rss/ он пойдёт на /usr/share/tt-rss/www/tt-rss/. Такой принцип работы nginx, он ставит другой root и ищет там location относительно него.
Тебе нужна директива alias, что-то такое (по памяти пишу):
К слову, советую не вешать в поддиректории, так как не весь софт с ними нормально работает (относительные урлы и т.д), а сделать поддомен - так будет проще. В дебиане так: ты основной конфиг (nginx.conf и так далее) не трогаешь, а кладёшь конфиги для виртуальных хостов в /etc/nginx/sites-available/something.conf, и делаешь симлинк с него на /etc/nginx/sites-enabled/something.conf, чтобы можно было врубать-вырубать сайт одним нажатием rm.
Вот, например, у меня ttrss на дебиане с php-fpm (он настраивается отдельно, но там легко, скопировал конфиг да поменял юзера и пути):
/etc/nginx/sites-available/ttrss.conf
SystemV(*)(2018-09-30 14:14:28) Отредактировано SystemV по причине "не указана" Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0
Re:Эй, как вы там там настраиваете этот свой Nginx в Убунто?
> Тебе нужна директива alias
Так она тоже почему-то не работает, в т.ч. и в приведённом синтаксисе - всё равно 404
> советую не вешать в поддиректории, так как не весь софт с ними нормально работает
Да, меня ф-дроидный клиент уже послал нафиг с урлом вида http://hostname/ttrss - введи, говорит, нормальный УРЛ. Попробую сейчас отдельный виртуальный хост организовать..
Re:Эй, как вы там там настраиваете этот свой Nginx в Убунто?
Сделал отдельный вирт.хост на хосту 'tt-rss', казал ему прямо "root /usr/share/tt-rss/www;" - ну так работает, да. Андроидный клиент таки считает URL http://tt-rss/ невалидным.
Upd: клиент оказался кривой. Из всего, что нашел в Ф-дроид, работает только "Tiny Tiny RSS"
anonymous(*)(2018-09-30 15:51:44) Отредактировано anonymous по причине "не указана" Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0
Re:Эй, как вы там там настраиваете этот свой Nginx в Убунто?
Убунта тут ни при чём, потому что root в nginx не так работает. В твоём конфиге он при открытии /tt-rss/ он пойдёт на /usr/share/tt-rss/www/tt-rss/. Такой принцип работы nginx, он ставит другой root и ищет там location относительно него.
Тебе нужна директива alias, что-то такое (по памяти пишу):
Вот поподробнее и с ссылками: https://stackoverflow.com/questions/11570321/configure-nginx-with-multiple-locations-with-different-root-folders-on-subdomain
К слову, советую не вешать в поддиректории, так как не весь софт с ними нормально работает (относительные урлы и т.д), а сделать поддомен - так будет проще. В дебиане так: ты основной конфиг (nginx.conf и так далее) не трогаешь, а кладёшь конфиги для виртуальных хостов в /etc/nginx/sites-available/something.conf, и делаешь симлинк с него на /etc/nginx/sites-enabled/something.conf, чтобы можно было врубать-вырубать сайт одним нажатием rm.
Вот, например, у меня ttrss на дебиане с php-fpm (он настраивается отдельно, но там легко, скопировал конфиг да поменял юзера и пути):
/etc/nginx/sites-available/ttrss.conf
Отредактировано SystemV по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0