Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузись в захватывающий фэнтезийный мир! Создай уникального мага и вступай в эпичные тактические сражения. Оттачивай навыки в динамичных онлайн-битвах . Всё это ждёт тебя в «Битве Магов»!

Битва Магов

Хардкорные, Мидкорные, Ролевые

Играть

Топ прошлой недели

  • AlexKud AlexKud 35 постов
  • Animalrescueed Animalrescueed 52 поста
  • Webstrannik1 Webstrannik1 50 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
BiteBusters
BiteBusters
2 года назад

NGINX. Книга рецептов⁠⁠

NGINX. Книга рецептов

"NGINX. Книга рецептов" - это практическое руководство, написанное Йонге Д., разработчиком и экспертом в области веб-серверов NGINX. Книга предоставляет множество рецептов, которые помогут вам лучше понять и использовать NGINX, один из самых популярных веб-серверов и прокси-серверов в мире.

Автор Йонге Д. представляет практические примеры, которые охватывают все аспекты использования NGINX - от установки и настройки до создания виртуальных хостов, управления мониторингом и оптимизации производительности. В книге также рассматриваются расширенные возможности NGINX, такие как балансировка нагрузки, кэширование и обработка SSL-сертификатов.

Основные особенности:

1. Понятные и подробные рецепты, которые легко следовать.

2. Объяснение основных концепций NGINX и практических приемов его использования.

3. Демонстрация современных подходов и методов работы с NGINX.

4. Раскрытие оптимальных стратегий для повышения производительности и безопасности.

"NGINX. Книга рецептов" станет незаменимым ресурсом для веб-разработчиков, системных администраторов и всех, кто хочет углубить свои знания и навыки в области работы с NGINX. Благодаря понятному формату и примерам реального мира, эта книга поможет вам быстро и эффективно использовать NGINX для решения различных задач и улучшения производительности вашего веб-сервера.

Скачать https://t.me/bitebusters/202

Показать полностью 1
[моё] IT Nginx Telegram Обучение
0
12
Afranius
Afranius
2 года назад
Лига Сисадминов

Вопрос про настройку nginx⁠⁠

С наступающим праздником, уважаемые коллеги!

Суть такая: есть папка /etc/nginx/conf.d куда кладутся файлы конфигурации виртуальных хостов. В основном файле конфигурации указано:

include "/etc/nginx/conf.d/*.conf"

Вопрос такого плана. Можно ли в этом параметре указывать доступ к файлу по http? Или если быть точным, можно ли вместо текстовых файлов возвращать результат выполнения скрипта?

типа

include "http://localhost/vhosts.php"

Идея в том, чтобы создавать виртуальные хосты динамически.

Второй вопрос. Помимо nginx в OpenBSD встроен демон httpd - проблема в том, что при запуске он слушает все интерфейсы. Можно ли ему ограничить доступ к интерфейсам? Чтобы httpd и nginx работали на разных интерфейсах и не мешали друг другу?

[моё] Nginx IT Гайд Текст
58
pdsnupeper0nyx
2 года назад

Как добавить свою верстку?⁠⁠

Доброго времени суток. У меня есть сайт, он хостится на bitrix24. Также у меня на Nic.ru куплены dns-сервера. Мне нужно каким-то образом загрузить на мой сайт файл html с js логикой и css.

HTML Bitrix24 Битрикс RU-CENTER Web Nginx Сайт CSS Javascript Текст
16
sinloehal
2 года назад

Когда используется Https, то обычно сервер передает данные в скрипты уже в расшифрованном виде?⁠⁠

например если сервер апач или nginx, а скрипты на PHP.

  1. Или надо вручную в скриптах каждый раз расшифровывать?

  2. или бывает часто по разному?

  3. как это в nodejs reactjs?

Https Nodejs PHP React Apache Nginx Текст Вопрос
3
37
aidaho6
aidaho6
2 года назад
GNU/Linux

Как я перестал пользоваться консолью (почти)⁠⁠

Я достаточно давно, уже больше 18 лет (капец я уже старый :`( ), использую консоль. Пробовал разные оболочки: bash, sh, zsh, ksh, но остановился на тех, что стоят по умолчанию на системах. Пожалуй, это моя лень, перенастраивать оболочки и терминалы под себя - никогда не было моим любимым занятием. А ещё меня всегда бесило редактирование конфигов: ок, если открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис, а вот если: открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис, а оно не работает... и опять: открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис и так пока не заработает, N-ое количество раз.


Да, для этого можно открыть несколько терминалов: редактировать в одном, перезапускать в другом. Но тут тоже есть свои минусы, один из них - захламляется терминал вкладками.


Как вы наверное уже поняли - я ленивый админ, который любит красивенькие (и не очень) GUI. Поэтому, начав плотно работать с HAProxy, мне быстро надоело постоянно править конфиг на нескольких серверах. И, не обнаружив на просторах интернета ничего подходящего, я решил написать свой (ага, очень ленивый - 5 лет уже закончить не могу).


Общаясь с одним из пользователей Roxy-WI, я спросил: “А зачем тебе оно вообще?”, в ответ получил хорошую фразу: “Чтобы в консоль не лазить”. И я задумался. Действительно, после создания пользователя для подключения сервера к Roxy-WI (или можно без этого шага, если root нам не страшен) больше нет необходимости заходить на сервер.


Смотрите сами.

Допустим, мы захотели развернуть новый HA кластер с HAProxy/Nginx/Apache на новых серверах, и нам для этого надо всего-лишь заполнить пару полей и выбрать пару галочек:

И, через минуты полторы, будет поднят Keepalived с VIP адресом, который будет мониторить сервис HAProxy, затем будет установлен и сам HAProxy.


Ок, у нас есть HA кластер и он даже работает, но какой с него прок, если он пустой? Таки надо лезть в консоль? Конечно же нет! Дальше идем на страницу добавления секций и “накликиваем” то, что нам нужно:

Можно посмотреть, что получилось в итоге, а можно даже сохранить этот кусок конфига в основной конфиг! Делаем reload или restart на странице с сервисами и всё.


И да, Roxy-WI не пропустит конфиг с ошибками и не перезапустит сервис. У нас есть настроенный и рабочий HAProxy:

Ещё один приятный бонус от GUI - все видно в одном месте: состояние сервисов, их версию, адрес и кто из них master сейчас. А если нажать на сервис, то можно увидеть более подробную информацию:

И конечно же редактирование конфигов присутствует. Это не замена полноценному IDE, но куда удобней vi:

В 90% случаев, это избавит от открытия консоли, а для оставшихся 10 есть много удобных фич.

Но что делать, если, например, есть коллега, который не признает никакие GUI и надо отобрать у него доступ к серверу (это должно быть зачеркнуто)? В Terraform подобные люди порождают кучу проблем с импортом стейтов или дублированием ресурсов, Roxy-WI избавлен от этой проблемы: конфиг берется напрямую с сервера, по этому риск случайно что-то перезаписать крайне мал.


“Но как же так? Но почему? А как?” - есть такие вопросы? С удовольствием отвечу на них, либо напишу ещё одну статью, если вопрос будет слишком большой для комментария. Вы, главное, расскажите мне свою ситуацию, а я всегда рад поболтать ;)


P.S. Конечно же, я продолжаю активно пользоваться консолью и большую часть работы делаю в ней. Я лишь хотел продемонстрировать, что есть и другие способы управлять частью инфраструктуры и не консолью единой. Уверен, какой-то части людей этот инструмент будет полезен.

Показать полностью 5
[моё] Gui Nginx Длиннопост
27
Uncommon
Uncommon
3 года назад

Лучшая реклама на пикабу! Дайте две)⁠⁠

Лучшая реклама на пикабу! Дайте две)
Показать полностью 1
[моё] Реклама на Пикабу Ошибка Nginx
0
22
TheTeaLover
TheTeaLover
3 года назад
Web-технологии
Серия Туториалы по бэкенд разработке

Введение в бэкенд для чайников⁠⁠

Хочу сделать серию уроков по серверной разработке для новичков. Вот первый ролик

[моё] Web IT PHP Nginx Туториал Программирование Linux Видео YouTube
11
38
InfinitySeeker
InfinitySeeker
3 года назад
Web-технологии

Как я свой первый учебный Fullstack-проект писал⁠⁠

Как я свой первый учебный Fullstack-проект писал

Я вас категорически приветствую. Сегодня я вам расскажу о том, как мне удалось написать наиуникальнейший домашний проект без пап, мам, кредитов, а также без различного рода курсов (юзал только официальные доки, Stackoverflow, Quora, Reddit и мёртвые форумы 2007 года) - Список Дел (он же ToDo List). Казалось бы, что может быть более банальным? С одной стороны, читатель, ты абсолютно прав, но с другой - не всё так однозначно. Но обо всём по порядку...


О себе
Мальчик, 34 годика. В 2010 году окончил ДВАГС по специальности менеджмент, после ВУЗа относительно непродолжительное время работал торговым представителем, чуть позже, в 2011 я решил попробовать себя в веб-разработке, и меня позвали на работу в маленькую, но очень гордую дальневосточную IT-контору, которая как раз и специализировалась на Web (jQuery, Backbone, ExtJS, C#, MSSQL). Для меня на тот момент доступна была лишь базовая вёрстка, ибо знаний и опыта в этой области в те времена у меня особо не было, однако за пару лет я кое-чего поднабрался, хоть в программировании и не преуспел, - отсутствие технического бэкграунда и жизненного опыта мне тогда недоставало, но писать "лапшу" на jQuery, приправленную небольшим количеством логики, мне-таки удавалось (с переменным успехом). Дальшейшее отсутствие, прежде всего, денежных перспектив, а также карьерного роста с учётом моей врождённой тупизны вкупе породили мысль покинуть несостоявшегося IT-гиганта (который, как мне позже стало известно, в скором времени распался) и привели меня на госслужбу - в министерство информационных технологий и связи Х. края в отдел развития систем электронного документооборота, где я работал следующие пару лет, устанавливая ЭЦП и помогая тётенькам исправить то, что "само" ломалось. В то же время со мной случилась секта, йога, ретриты, путешествия... Короче, я уволилися с госслужбы и переехал вместе с родителями на юг нашей необъятной. Потом опять были путешествия, автостоп по забугорью, попутно попадались мелкие проекты по вёрстке на удалёнке. Менялись города, страны, а мозгов так и не прибавилось. Затем по до сих пор мне самому непонятной причине я захотел пойти в море матросом. Сказано - сделано. Учёба на морских курсах, практика и первая жуткая работа на местном флоте за 500 долларов, где вокруг вода, чайки и беспробудные алкаши - влажные мечты весьма значительно расходились с отягощающей реальностью. Чуть позже я переквалифицировался в буфетчики (помощник повара), о чём я уже писал на Пикабу, и пошёл в "большие моря" и на "большие пароходы", денег стало тоже чуть больше. Кстати говоря, работа в море мне нравится до сих пор, но в ней есть одно "НО": если ты стал моряком, то другой жизни у тебя больше не будет, как ни старайся, ну, кроме разве что, если ты капитан (да и то, не всё там так радужно), но это не мой случай, и, как выяснилось, это мне не совсем подходит. Последний контракт я пробыл в море 8 месяцев, совершил, практически кругосветное путешествие (Владивосток, Китай, Корея, Новая Зеландия, Австралия, Таити, Новая Каледония, Ямайка, Панама, США, Англия, Франция, Нидерланды), но выйти на берег мне так ни разу и не удалось из-за запрета портовых властей в связи с пандемией, т.е., я побывал везде и одновременно нигде - какая ирония... Зато я видел все оттенки воды. Ха-ха.
На сегодняшний день на берегу я нахожусь уже год, живу в Калиниграде с девушкой, занимаюсь всякими мелочами и одновременно постигаю ремесло web-разработчика, и для себя я твёрдо решил, что море обойдётся без меня (хотя мне до сих пор звонят с предложениями о работе время от времени), и что я-таки хочу жить и работать на берегу и найти удалённую работу, очень желательно в IT в связи с тем, что айтишка - это хорошо, интересно, при основательном подходе вполне денежно, да и какое-никакое представление об этом у меня уже имеется, хоть актуальных знаний мне сейчас явно недостаёт, но это не проблема - терпение и труд, как говорится... А путешествий и относительно острых ощущений мне уже хватило, и пора бы уже подумать о семье, карьере и других "земных" вещах. Лирики, пожалуй, достаточно, перейдём к делу.


Суть проекта
Проект - список дел, имеющий различный функционал для гостя и зарегистрированного пользователя.

Гостю доступен только один список, который хранится локально в браузере (в Local Storage) и, соотвественно, недоступен на других устройствах. Возможности в этом случае ограничены добавлением, редактированием, ранжированием (перемещением) и удалением пунктов списка.

Зарегистрированному пользователю доступно создание неограниченного количества списков, включая сохранение списка гостя, если таковой имелся, а также сохранение всех иных данных в БД. Для каждого списка в данном случае доступен всё тот же функционал (создание, редактирование, ранжирование и удаление пунктов списка), однако есть супер-пупер-друпер-мега-киллер-фича - это шаринг списков между пользователями и возможность одновременного их редактирования в режиме реального времени (посредством WebSocket). "Зачем это нужно?" - спросите вы. А я вам отвечу словами бессмертного лидера культовой группы Bredor Эскобара: "Ну да хер его знает." Хотел поработать с веб-сокетами в рамках учебного проекта и всего делов. Также добавлен стандартный административный раздел, чтобы не править данные напрямую ручками в базе.


Код и демо
Frontend: todo-client
Backend: todo-server
За код сильно прошу не пинать - я не профи. И да, я знаю, что есть кое-какой технический долг, но до этого руки пока не дошли (и никогда не дойдут, естественно).

Demo: https://infseeker-todo.(tk) - надобно скобки убрать. Т.к., к сожалению, Пикабу запрещает публикацию адресов с доменом tk (Tokelau), но я взял этот домен, т.к. он бесплатный и для публикации домашнего проекта вполне подходит.

Тестовые пользователи для тех, кто не хочется регистрироваться:
Пользователь 1:
Имя: TestUserOne
Пароль: TestUserOne123

Пользователь 2:
Имя: TestUserTwo
Пароль: TestUserTwo123


Технологический стек
Backend:
Web-Фреймворк (API): Flask (Python)
База данных: PostgreSQL
Веб-сервер: Gunicort + Nginx
ORM: Flask SQLAlchemy + Flask Marshmallow
Аутентификация: Flask Login
Авторизация: Flask Principal
SMTP-интерфейс: Flask Mail
Планировщик заданий: Flask APScheduler
Защита от ботов: Google reCaptcha v3
Админка: Flask Admin
WebSocket: Flask SocketIO

Frontend:
JS-Фреймворк: Vue 3
Сборщик проекта: Vite
Роутинг: Vue Router
Защита от ботов: Google reCaptcha v3
Валидация форм: Vuelidate
Локализация интерфейса: Vue i18n
Всплывающие уведомления: Vue Toastification
Drag'n'Drop: Vue Draggable Next
Редактор изображений: Vue Advanced Cropper
CSS-фреймворк: Bootstrap 5
CSS-тема: Sneat
WebSocket: SocketIO

Demo VDS:
Дата-центр: Россия, Королёв (Rucloud)
ОС: Ubuntu 18.04
Процессор: 1x2.2ГГц
Память: 0.5Гб
HDD: 10Gb


Процесс разработки
Постараюсь кратенько обозначить основные моменты в процессе планирования, разработки и тестирования проекта.
Общий срок, начиная от идеи составил 3,5 календарных месяца (с середины мая 2022 до начала сентября 2022), однако реальный срок непосредственной разработки составил чуть больше 2-х месяцев.

Общий процесс разработки проекта строился примерно следующим образом:
- Первичное планирование - наброски идеи проекта (Confluence)
- Прототипирование (основные экраны и элементы интерфейса) (Figma)
- Разработка пользовательских сценариев (User Stories) (Confluence)
- Текстовое описание базового функционала (Confluence)
- Постановка и выполнение задач по разработке, тестирование (Jira)

Методологией разработки был выбран недо-Scrum (1-недельные спринты, в спринт задачи в основном попадали напрямую из головы, а не из беклога, оценка сроков выполнения задач была номинальной, а тестирование происходило обычно сразу в продакшене), т.е., по сути, это был обыкновенный Waterfall, приправленный самообманом.
Однако, несмотря на все недочёты, разработка была спланирована, начата, закончена, и проект запущен в условный продакшн на демо-сервере. В планах было уложиться в 2 месяца, но, как это обычно бывает, согласно первому закону Паркинсона, сроки были чуть расширены.

Стоит отметить, что планированием тестовых мероприятий, ведением тестовой документации (Jira Xray) и непосредственным тестированием (полуавтоматизированное тестирование API в Postman, ручное тестирование интерфейса) занималась моя девушка, которая в относительно ближайшее время планирует также внедриться в IT, но, насколько мы адекватно можем оценивать сегодняшний рынок и её возможности, то вкатиться ручным тестировщиком вариантов практически нет ввиду пресыщенности рынка и отстуствия у неё опыта работы в реальных командах на реальных проектах. Поэтому, скорее всего, первоначально она пойдёт в техподдержку или что-то похожее, а там, быть может, и до разработки доберёмся, благо, девочка она умная и относительно быстро схватывает основы веб-разработки. Но время, как говорится, покажет.

Хотелось было отметить ещё множество различных интересных аспектов разработки проекта, однако, дабы не превращать пост в нечитаемую портянку, делать я этого не буду (на самом деле, мне просто лень). Кому интересно, то зайдёт на Демо-сервер и заглянет ко мне на уютненький Github.


Что я вспомнил и чему научился
Frontend:
- HTML 5 (структура, семантика)
- CSS 3 (Flex, Grid, Animation и пр.) + Bootstrap 5
- Основы JS, включая фичи ES6+
- Основы Vue 3, построения SPA-приложений, компонентный подход
- Работа с роутами (Vue Router)
- Работа с Local Storage
- Работа с асинхронными запросами и данными
- Реализация взаимодействия клиентов в реальном времени посредством WebSocket (SocketIO)

Backend:
- Основы Python 3
- Flask (REST API + Admin)
- Регистрация пользователей и работа с правами доступа (Flask Login)
- Работа с данными и ORM (Flask SQLAlchemy + Flask Marshmallow)
- Основы SQL, PostgreSQL
- Работа с WebSocket (Flask SocketIO)

Другое:
- Работа с Git, Github, Github Actions (автоматический деплой в продакшн по SSH на пуш)
- Конфигурирование Nginx и Gunicorn (настройка служб, воркеров, редиректа, HTTPS и пр.)
- Работа с Linux, командной строкой
- Работа с инструментами разработки (VSCode + плагины, pgAdmin, Postman, Chrome DevTools)


Что дальше?
Если вопрос касается данного проекта, то его разработка завершена окончательно и бесповоротно, т.е., всё, что я планировал сделать, я сделал. Теперь остаётся подтянуть и собрать воедино все накопленные знания и усиленно искать работу. Понятно, что в наше время это непросто, плюс возраст, плюс отсутствие соответствующего образования делают из меня не самого желанного кандидата даже на позицию джуниора, но, я думаю, как-нибудь прорвёмся, да и проект мой, я считаю, вполне себе годная демка моих знаний и скиллов, пускай это слишком сильно сказано, но, тем не менее. Будем верить в лучшее и двигаться вперёд. Мир!

Благодарю за внимание.

Показать полностью 1
[моё] Программирование Python Javascript Nginx Flask Vue IT Linux Разработка Веб-разработка Самообразование Длиннопост
26
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии