anonymous@RULINUX.NET~# Last login: 2024-12-22 10:48:35
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Эй, как вы там там настраиваете этот свой Nginx в Убунто?

Пытаюсь сконфинурять nginx для tt-rss в убунто. Он есть в репах, что удобно. Вебню свою ставит в /usr/share/tt-rss/www. Проблема в том, что получаю 404 при попытке заточить вирт.путь прямо в этот каталог.

Конфиг выглядит примерно так:

text

        root /var/www/html;

        index index.php index.html index.htm index.nginx-debian.html;

        location / {
                try_files $uri $uri/ =404;
        }

        location /tt-rss/ {
                root /usr/share/tt-rss/www/;
                try_files $uri $uri/ =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 ) - то так работает как ни в чем ни бывало. А через виртуальный каталог - ни за что не хочет. Что за фигня?

anonymous(*) (2018-09-30 13:35:02)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0

[Ответить на это сообщение]
avatar
Скрыть

Re:Эй, как вы там там настраиваете этот свой Nginx в Убунто?

Убунта тут ни при чём, потому что root в nginx не так работает. В твоём конфиге он при открытии /tt-rss/ он пойдёт на /usr/share/tt-rss/www/tt-rss/. Такой принцип работы nginx, он ставит другой root и ищет там location относительно него.

Тебе нужна директива alias, что-то такое (по памяти пишу):

text

        location /tt-rss/ {
                alias /usr/share/tt-rss/www/;
        }
 


Вот поподробнее и с ссылками: 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

text

server {
        root /home/user/www/ttrss/;
        server_name ttrss.mydomain.tld;

        listen 443 ssl;
        ssl on;
        include ssl_simple_params;
        ssl_certificate     /etc/ssl/root/ttrss.crt;
        ssl_certificate_key /etc/ssl/root/ttrss.key;

        access_log /var/log/nginx/ttrss_access.log;
        error_log /var/log/nginx/ttrss_error.log;
        index index.php;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
       
                fastcgi_pass unix:/run/php/php7.0-fpm-ttrss.sock;
                fastcgi_index index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

        location ~ /\.ht {
                deny all;
        }

        location /cache {
                deny all;
        }

        location = /config.php {
                deny all;
        }
}
 

SystemV(*)(2018-09-30 14:14:28)
Отредактировано SystemV по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0
avatar
Скрыть

Re:Эй, как вы там там настраиваете этот свой Nginx в Убунто?

> Тебе нужна директива alias

Так она тоже почему-то не работает, в т.ч. и в приведённом синтаксисе - всё равно 404

> советую не вешать в поддиректории, так как не весь софт с ними нормально работает

Да, меня ф-дроидный клиент уже послал нафиг с урлом вида http://hostname/ttrss - введи, говорит, нормальный УРЛ. Попробую сейчас отдельный виртуальный хост организовать..

anonymous(*)(2018-09-30 15:33:09)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0
avatar
Скрыть

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
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!