И, кстати, я против трактовки мультика в конце видео, как задницы рамблера, в которую воткнут якорь, дабы не дать ей потонуть в море нашей любви. Это просто кораблик, который плывёт под красивую музыку. Я не очень хорошо владею английским, но думаю, что это песня про веб, потому что там есть что-то про anchor, анимацию шариков и FAQ.
@@yairrodriguez3690 хм... На английском канале эта шутка не прокатит =D Придётся искать хорошую песенку на русском: про змею и черепаху, например. Там ещё кто-то куда-то ехал, кажется...
Аида добрый день могли бы вы рассказать еще про модуль в ngnix под названием njs scripting language не до конца понял для чего он нужен и с чем его едят заранее спасибо
Замечательное видео, как радостно что наши программисты начали делиться опытом и знаниями. Помню как лет 5 назад ничего на Ютубе не было. Удачи вам в делах, выкладывайте новые видео о программировании и всего вам наилучшего
С эластиком мы так и не подружились =) проблема медленного поиска по огромной базе решилась её переработкой, индексацией и изменением алгоритма поиска. Но, может, я когда-нибудь вернусь к идее попробовать elasticsearch.
Клёво, молодец, только к программированию это никак не относится, а скорее к девопсингу с натяжкой. Ну или банально к системному администрированию. В этот раз я тебя не тролю )) просто сам намедни с этим изрядно занимался камасутрой (особенно с опциями конфига модуля) и свежо ещё предание в памяти... ... ... гляну позже более подробно не по диагонали, может есть что утащить к себе в логово... по поводу сокрытия хедера -- не столкнулся с ошибкой, но возьму на заметку. Спасибо.
К программированию точно никак не относится, потому лежит в плейлисте Оптимизация ;) Думаю, в следующем видео показать, как добиться оптимизации по картинкам без камасутры с NGINX, а как раз силой кодинга.
Материал огонь, тема интересная. Меня тревожит один момент, такое вот условие для создания кеша (размер в урл) не имеющее лимитов - не является ли дырой, позволяющей если не уронить, то как следует подвесить сервер? +- 300 картинок * [1px, ... 10000px]. Думаю хорошо было бы показать как такую дыру закрыть (если это действительно дыра), а то не редкий случай когда учебный материал уходит в продакшн )).
А вы попробуйте задать роут на 10000px ;) Спойлер: картинка будет отдаваться в оригинальном размере. Image Filter помогает похудеть, а не набрать массу. Так что перекормленных котиков можно не бояться.
@@AidaDrogan 10000 - согласен, перегнул. А как себя буде вести выводок [1px, ... оригинальный размер]? не удастся ли им заиграть выделенное пространство? Вопрос не про image Filter, а про кладовку где эти котики бузят. Кеш ведь не резиновый. Каюсь, мне лень развернуть и применить метод научного тыка.... зато комментариев больше ))
У кладовки параметр есть max_size=10g (10 гб например). Как только закончится выделенное место, NGINX будет удалять самые старые файлы. А вот если max_size не указан, тогда на их сайте говорят, что будет использовано всё доступное место. А что это за место надо бы протестировать =) Лично я бы без лимитов кэш не описывала. Как-то был неприятный момент на одном сервере, когда бэкапы завалили все доступное пространство, и база легла, потому как ей места не хватило...
Клево! Мне скоро предстоит переезд с Windows Server 2008 на Debian, видос очень кстати. Было бы здорово посмотреть про настройку Nginx как revers proxy через https с авто установкой и авто продлением сертификата. И про image filter - ограничение на операции с картинкой, я так понимаю, делать через регулярки или есть какие-то еще способы? Можно через этот модуль или подобный добавить ватермарку на картинку?
С сертификатами отлично справляется эта софтинка - certbot.eff.org/instructions. А вот ватермарки я не пробовала. Вроде есть такая директива - image_filter watermark. Надо потестить. Я до 2019-го все операции с картинками доверяла ImageMagick, а потом узнала про Image Filter =)
Спасибо, Аидочка! Есть пара вопросов: 1. Подскажи пожалуйста, 8:05 ( кэширование ) - другая ерунда в папке images - тут речь об одном уровне вложенности или подразумевается заведомо бесконеченый уровень ? Или чтобы он стал бесконечным, нужно изменить на что-то вроде нижеследующего? location /images.* 2. Я правильно понял, что следующая запись - ~ ^/img/(?\d+)/(?.+/*)$ Позволит брать в переменную image - каритнку с неограниченной вложенностью (количеством слэшей в адресе)? По концепции рег. выражений вроде правильно - от нуля до бесконечности слэшей. А вот будет ли это правильно в контексте nginx?
Всё верно, будет работать с вложенными папками и в 1 и в 2. Насчёт бесконечности не знаю =) Подозреваю, что уровень вложенности таки конечен. Или NGINX сдастся первым, или браузер.
@@AidaDrogan Еще такой нескромный вопрос: С уменьшением получилось отлично. А С кешированием затупил. У меня папка с проектом в /var/www Пути к картинкам в браузере такого вида по умолчанию: /storage/uploads/images/adverts/72/e904663392f18b6f83a1a02a7792a999.jpeg Попробовал закешировать таким образом location /storage/uploads/images { root /var/www/public/storage/uploads/images; .... В root нужно /var/www указывать, при условии, что нужно кешировать только картинки из /var/www/public/storage/uploads/images ? Сейчас после введения этого локейшена на картинку пало клеймо 404 ( Т.О. заработало, но насколько оно правильно?
Чисто случайно заметила сообщение. RUclips часто не шлёт уведомлений об ответах на ответы, лучше вопросы в корень писать или в телегу =) root - это физическое расположение файлов, т.е. как в файловом менеджере /path/to/my_image.jpg, а location - это url, на который надо откликаться в браузере - mysite.com + (location) - /link/to/my_image.jpg. Если кэшируются картинки из одной папки - она и есть root для location к её содержимому. А для тех, которые не кэшируются location свой. Я придерживаюсь мнения, что если что-то работает, так как задумано, значит оно сделано правильно.
У меня такая схема реализована на сервере, где около 5000 картинок. Так что сложно сказать что-то про производительность при такой маленькой нагрузке. Там, где изображений много, я предпочитаю CDN + отложенная загрузка.
Я работала на Upwork несколько лет, но в те времена он звался oDesk. Мне нравилось =) Потом надоел фриланс, и я ушла в бизнес. Если надоест бизнес, вернусь на Upwork.
Обратный Прокси Васильевич - заслуженный работник веб-сферы, дважды кавалер Ордена Маскировки Серверов =) Это такой гном, который берёт запрос пользователя и передаёт его на другой сервер (но тихонько, так, чтобы пользователь ничего не понял). Потом Прокси Васильевич получает ответ от проксируемого сервера и отдаёт пользователю обратно. В этом видео картинка с котиком пришла с сервера на порту 8888, который был запроксирован на порту 80. В случае с Node.js мы поднимаем сервер на порту 3000 и передаём на него запросы с основного сервера NGINX. Бэкэнд крутится на Node.js, а статические ресурсы отдаёт NGINX. А выглядит это как единый сайт.
Второй сервер занимается проксированием и кэшированием. Если закэшировать запросы на работу с картинками, можно здорово повысить производительность и не обрабатывать каждый раз изображение. Если у прокси-вервера нашёлся кэш, он его отдаст и не будет беспокоить Image Filter. Кроме того, можно назначить целую группу серверов для обработки изображений (и это, конечно, будут физически другие машины), тогда их нужно описать группой в proxy_pass. А это видео - демка, в которую хотелось впихнуть побольше =)
Вижу бессмысленным это видео в связи с тем что смена размера картинки свободно реализуется почти на любом языке программирования. И даже не смотря на это, можно спокойно реализовать схожий функционал на ngnix-lua или openresty. После не изучая баги типо /img/MAXINT/котик.png
Приглашаем в Дискорд-чат сообщества "АйТиБорода". Тут тебя ждёт ламповое общение в кругу единомышленников: Начинающих программистов и опытных разработчиков с участием русскогоязычных IT-блогеров :) RUclips Полезные ссылки нашего сообщества: Стена на RUclips - ruclips.net/user/itbeardcommunity RUclips - ruclips.net/user/itbeard Discord - discord.gg/tWbt4sS Телеграм : t.me/itbeard_chat
И, кстати, я против трактовки мультика в конце видео, как задницы рамблера, в которую воткнут якорь, дабы не дать ей потонуть в море нашей любви.
Это просто кораблик, который плывёт под красивую музыку. Я не очень хорошо владею английским, но думаю, что это песня про веб, потому что там есть что-то про anchor, анимацию шариков и FAQ.
Не очень хорошо владеете английским?! А как же английский канал?
@@yairrodriguez3690 хм... На английском канале эта шутка не прокатит =D Придётся искать хорошую песенку на русском: про змею и черепаху, например. Там ещё кто-то куда-то ехал, кажется...
Аида добрый день
могли бы вы рассказать еще про модуль в ngnix под названием njs scripting language
не до конца понял для чего он нужен и с чем его едят
заранее спасибо
Божечки, это лучший материал по nginx, что я видел...
Согласен
это золотой контент! Благодарю за твои труды и посылаю лучи любви ❤️
Спасибо, коллега! У тебя тоже классный контент ;)
-- Лучи любви приняты, обработаны, умножены и высланы отправителю ^___^ --
С возвращением Ася, спасибо за видео!
Замечательное видео, как радостно что наши программисты начали делиться опытом и знаниями. Помню как лет 5 назад ничего на Ютубе не было. Удачи вам в делах, выкладывайте новые видео о программировании и всего вам наилучшего
Классный контент, спасибо автору, обнял
Наконец-то звук хороший
Бозе мой, ну какая же ты милаха! ))
Интересный материал, отличная подача! Тащусь от зарисовок)
Обожаю конфигурить nginx и всем советую ;D Спасибо за видео, как всегда круто!)
Спасибо за видео.
Годнота то какая!
А я заметил в sources.list репозиторий elasticsearch! А будут ли видео по эластику? ))
С эластиком мы так и не подружились =) проблема медленного поиска по огромной базе решилась её переработкой, индексацией и изменением алгоритма поиска. Но, может, я когда-нибудь вернусь к идее попробовать elasticsearch.
Just what i needed :-)
Здорово, не знал о такой возможности nginx. Спасибо! И да, больше комментариев! ^.^
Ты прекрасный котик
Лайк за полезный контент, ща чувство юмора и за голос)
Спасибо за неожиданный лайфхак!
Как всегда супер
Супер! Спасибо за материал!
пожалуй оставлю комментарий для продвижения видео)
видео огонь! спасибо.
09:00 пишу - на станционарнике стоит винда 7, на ноутбуке дебиан 10 под граф оболочкой 3dark kde
Super)))
Спасибо за скринкаст!
модуль интересный, но у меня захардкожен imagick, не знал, что кешить на 1 год надо , как просил гугляша. Пора идти спеки читать))) спасибо за видео
Клёво, молодец, только к программированию это никак не относится, а скорее к девопсингу с натяжкой. Ну или банально к системному администрированию. В этот раз я тебя не тролю )) просто сам намедни с этим изрядно занимался камасутрой (особенно с опциями конфига модуля) и свежо ещё предание в памяти... ... ... гляну позже более подробно не по диагонали, может есть что утащить к себе в логово... по поводу сокрытия хедера -- не столкнулся с ошибкой, но возьму на заметку. Спасибо.
К программированию точно никак не относится, потому лежит в плейлисте Оптимизация ;) Думаю, в следующем видео показать, как добиться оптимизации по картинкам без камасутры с NGINX, а как раз силой кодинга.
Умничка)
Отлично!
Материал огонь, тема интересная. Меня тревожит один момент, такое вот условие для создания кеша (размер в урл) не имеющее лимитов - не является ли дырой, позволяющей если не уронить, то как следует подвесить сервер? +- 300 картинок * [1px, ... 10000px]. Думаю хорошо было бы показать как такую дыру закрыть (если это действительно дыра), а то не редкий случай когда учебный материал уходит в продакшн )).
А вы попробуйте задать роут на 10000px ;) Спойлер: картинка будет отдаваться в оригинальном размере. Image Filter помогает похудеть, а не набрать массу. Так что перекормленных котиков можно не бояться.
@@AidaDrogan 10000 - согласен, перегнул. А как себя буде вести выводок [1px, ... оригинальный размер]? не удастся ли им заиграть выделенное пространство? Вопрос не про image Filter, а про кладовку где эти котики бузят. Кеш ведь не резиновый. Каюсь, мне лень развернуть и применить метод научного тыка.... зато комментариев больше ))
У кладовки параметр есть max_size=10g (10 гб например). Как только закончится выделенное место, NGINX будет удалять самые старые файлы. А вот если max_size не указан, тогда на их сайте говорят, что будет использовано всё доступное место. А что это за место надо бы протестировать =) Лично я бы без лимитов кэш не описывала. Как-то был неприятный момент на одном сервере, когда бэкапы завалили все доступное пространство, и база легла, потому как ей места не хватило...
Клево! Мне скоро предстоит переезд с Windows Server 2008 на Debian, видос очень кстати. Было бы здорово посмотреть про настройку Nginx как revers proxy через https с авто установкой и авто продлением сертификата. И про image filter - ограничение на операции с картинкой, я так понимаю, делать через регулярки или есть какие-то еще способы? Можно через этот модуль или подобный добавить ватермарку на картинку?
С сертификатами отлично справляется эта софтинка - certbot.eff.org/instructions. А вот ватермарки я не пробовала. Вроде есть такая директива - image_filter watermark. Надо потестить. Я до 2019-го все операции с картинками доверяла ImageMagick, а потом узнала про Image Filter =)
Интересно, какой у вас дистрибутив Linux и тема оформления? Понравился внешний вид.
Xubuntu 19.10
Ого. Рад видеть
А хостинги его(nginx) норм поддерживают? Точнее сказать, часто ли встречаются хостинги кто его поддерживает?
Я работаю только с выделенными серверами, которые настраиваю под себя. Так что точно не знаю. Думаю, что многие должны поддерживать.
В основном apache бывает
Часто, не на виртуалках, стоит связка apache+nginx
👍
Спасибо, Аидочка!
Есть пара вопросов:
1. Подскажи пожалуйста, 8:05 ( кэширование ) - другая ерунда в папке images - тут речь об одном уровне вложенности или подразумевается заведомо бесконеченый уровень ?
Или чтобы он стал бесконечным, нужно изменить на что-то вроде нижеследующего?
location /images.*
2. Я правильно понял, что следующая запись -
~ ^/img/(?\d+)/(?.+/*)$
Позволит брать в переменную image - каритнку с неограниченной вложенностью (количеством слэшей в адресе)?
По концепции рег. выражений вроде правильно - от нуля до бесконечности слэшей.
А вот будет ли это правильно в контексте nginx?
Всё верно, будет работать с вложенными папками и в 1 и в 2. Насчёт бесконечности не знаю =) Подозреваю, что уровень вложенности таки конечен. Или NGINX сдастся первым, или браузер.
@@AidaDrogan спасибо!
@@AidaDrogan Еще такой нескромный вопрос:
С уменьшением получилось отлично. А С кешированием затупил.
У меня папка с проектом в /var/www
Пути к картинкам в браузере такого вида по умолчанию:
/storage/uploads/images/adverts/72/e904663392f18b6f83a1a02a7792a999.jpeg
Попробовал закешировать таким образом
location /storage/uploads/images {
root /var/www/public/storage/uploads/images;
....
В root нужно /var/www указывать, при условии, что нужно кешировать только картинки из /var/www/public/storage/uploads/images ?
Сейчас после введения этого локейшена на картинку пало клеймо 404 (
Т.О. заработало, но насколько оно правильно?
Чисто случайно заметила сообщение. RUclips часто не шлёт уведомлений об ответах на ответы, лучше вопросы в корень писать или в телегу =) root - это физическое расположение файлов, т.е. как в файловом менеджере /path/to/my_image.jpg, а location - это url, на который надо откликаться в браузере - mysite.com + (location) - /link/to/my_image.jpg. Если кэшируются картинки из одной папки - она и есть root для location к её содержимому. А для тех, которые не кэшируются location свой. Я придерживаюсь мнения, что если что-то работает, так как задумано, значит оно сделано правильно.
@@AidaDrogan 🙏💕 спасибо!
Интересно что на счёт перформанса. Есть какие-то цифры ? Тоже думаю о подобном решении.
У меня такая схема реализована на сервере, где около 5000 картинок. Так что сложно сказать что-то про производительность при такой маленькой нагрузке. Там, где изображений много, я предпочитаю CDN + отложенная загрузка.
Расскажите своё отношение о Upwork ?
Я работала на Upwork несколько лет, но в те времена он звался oDesk. Мне нравилось =) Потом надоел фриланс, и я ушла в бизнес. Если надоест бизнес, вернусь на Upwork.
лайк!!!!
жирок!! нужно больше видео
БОЛЬШОЙ
ТЯЖЁЛЫЙ
ЦЕННЫЙ
КОММЕНТАРИЙ
заменяет тысячу обычных маленьких комментариев
=D нам нужно БОЛЬШЕ комментариев
Жалко, что у гифок обрезается только первый кадр :(
подскажите если стоит апач и nginx вместе... и как я понял апач перекрывает энджинкс, в общем ваша инструкция не сработала
вопросик: умеет ли nginx делать так как ngrok - делать локальный веб-сервер доступным в сети, по урл как на любой обычный сайт?
Как интересно!!! Но я не совсем понял кто такой Обратный Прокси((( Это гном какой-то???
Обратный Прокси Васильевич - заслуженный работник веб-сферы, дважды кавалер Ордена Маскировки Серверов =) Это такой гном, который берёт запрос пользователя и передаёт его на другой сервер (но тихонько, так, чтобы пользователь ничего не понял). Потом Прокси Васильевич получает ответ от проксируемого сервера и отдаёт пользователю обратно. В этом видео картинка с котиком пришла с сервера на порту 8888, который был запроксирован на порту 80. В случае с Node.js мы поднимаем сервер на порту 3000 и передаём на него запросы с основного сервера NGINX. Бэкэнд крутится на Node.js, а статические ресурсы отдаёт NGINX. А выглядит это как единый сайт.
@@AidaDrogan спасибо))) оказывается, это вполне законопослушный гражданин) попробую с ним познакомиться.
снега нет(
Главное, чтобы зима не решила наверстать упущенное в мае =D
не понял, зачем нужен был 2-й сервер, какая от него польза?
Второй сервер занимается проксированием и кэшированием. Если закэшировать запросы на работу с картинками, можно здорово повысить производительность и не обрабатывать каждый раз изображение. Если у прокси-вервера нашёлся кэш, он его отдаст и не будет беспокоить Image Filter. Кроме того, можно назначить целую группу серверов для обработки изображений (и это, конечно, будут физически другие машины), тогда их нужно описать группой в proxy_pass. А это видео - демка, в которую хотелось впихнуть побольше =)
Вижу бессмысленным это видео в связи с тем что смена размера картинки свободно реализуется почти на любом языке программирования. И даже не смотря на это, можно спокойно реализовать схожий функционал на ngnix-lua или openresty. После не изучая баги типо /img/MAXINT/котик.png
+
Приглашаем в Дискорд-чат сообщества "АйТиБорода".
Тут тебя ждёт ламповое общение в кругу единомышленников: Начинающих программистов и опытных разработчиков с участием русскогоязычных IT-блогеров :) RUclips
Полезные ссылки нашего сообщества:
Стена на RUclips - ruclips.net/user/itbeardcommunity
RUclips - ruclips.net/user/itbeard
Discord - discord.gg/tWbt4sS
Телеграм : t.me/itbeard_chat
Почему я раньше тебя нк нашёл?
Вспомнилась бессмертная цитата «Меня трудно найти, легко потерять и невозможно забыть» ;) Добро пожаловать на канал. Рада быть полезной!
@@AidaDrogan)
Консоль в хроме еще окрывается contrl + shift + i
И как его совместить с nodejs
Спасибо, полезное видео