Метка «nginx» - 13

Интернет пришел в Россию в 1995-96гг. Среднестатистическим компьютером тогда был AMD 486DX150 или Intel Pentium100 с RAM 4-8 Mb и HDD 100-400 Mb. Как раз тогда появился Windows 95, и именно новая ОС и потребовала апгрейдов железа до указанных величин, т.к. на типичных для 94го года компьютерах 486 SX25 или DX66 с 2-4 Mb Win95 еле ворочался. Интернет-серверами и роутерами у провайдеров в те годы были точно такие же машины, или даже более слабые, т.к. Linux тогда еще вполне комфортно себя чувствовал на 2 Мб (без GUI), сайты были в основном статическими, и почтового спама еще не было. Доступ к интернету имел в лучшем случае один на тысячу человек — по нескольку сотен человек в среднем российском областном центре, и все они работали через единичные провайдерские почтовые и веб-серверы. То есть один сервер указанной ничтожной по современным меркам конфигурации обслуживал примерно столько человек, сколько сейчас интернет-пользователей в довольно крупном предприятии. И справлялся…

Есть ли сейчас компьютеры сопоставимой мощности (если слово мощность еще применимо к такому железу), и как они используются? Есть. Нет, это не роутеры и тем более не смартфоны — те и другие заметно производительнее, даже если рассматривать только домашние роутеры и самые простые телефоны. Роутеры легко прокачивают 100Мбит, а телефоны легко крутят видео, да и память у телефонов на сотни мегабайт — ничего такого и близко не было в 96м году. Надо искать более слабые процессоры сопоставимые с Pentium100, то есть около 100МГц или до 200 DMIPS…

Читать полностью »

После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.

Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.

XAMPP мне не подошёл просто по идейным соображениям.

Итак, приступим.

Предполагается, что yaourt у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo, потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).

Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:

sudo nano /etc/pacman.conf

И проверяем, чтобы секции этих репозиториев выглядели аналогично.

[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist

И синхронизируем списки пакетов.

sudo pacman -Sy

Читать полностью »

После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.

Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.

XAMPP мне не подошёл просто по идейным соображениям.

Итак, приступим.

Предполагается, что yaourt у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo, потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).

Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:

sudo nano /etc/pacman.conf

И проверяем, чтобы секции этих репозиториев выглядели аналогично.

[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist

И синхронизируем списки пакетов.

sudo pacman -Sy

Читать полностью »

Представим, что у нас есть приложение/сайт с достаточно высокой нагрузкой.

Многие разработчики приложений для «ВК» или «Одноклассников» сталкивались с ситуацией, когда приложение выходит в топ новых приложений и на вас сваливается огромнейшая нагрузка.
Допустим, в процессе обращения клиента к серверу, генерируется картинка. Серверов у нас много. Каким образом клиенту отдать эту картинку, если у вас нет единой файловой системы и файлы не синхронизируются между серверами?

Как поступить, когда на сервер ежесекундно приходит большое количество народу? Ответ прост — nginx.

Читать полностью »

Правильный хостинг для MODx своими руками
В сообществах MODx много ругани на Revolution, мол с ней невозможно работать из-за медленной админки.

Когда начинаешь разбираться в вопросе, оказывается, что люди работают на shared-хостингах с ограниченными ресурсами, через интернет канал 2,5 мегабита и браузером не Google Chrome.

По следам нескольких холиваров я решил, что нужно что-то делать. Возможно, мой топик покажется вам ненужнымнеинтересным, но я должен его написать, чтобы было куда отправлять страждущих.

На всякий случай, приложу видео, как именно должна работать админка MODx Revo.

Для ускорения Revolution нужно:

  • Быстрый браузер — Google Chrome. Админка Revo работает в нем молниеносно, гораздо быстрее чем в Firefox. Opera подглючивает, а IE я по старой привычке не считаю за браузер. К тому же, IE и Opera не поддерживаются официально авторами MODx Revo.
  • Хороший интернет-канал. Тут без вариантов, нужно всем и всегда. Вся админка построена на ExtJS и постоянные асинхронные запросы требуют отзывчивости от вашего провайдера.
  • Самое главное — качественный хостинг. Именно настройке быстрого и недорогого хостинга для Revo я и посвящаю этот топик.

Читать полностью »

Всем привет.

Был немного удивлен, что на хабре всего лишь один раз и вскользь упомянуто о шаблонах ZTC для Zabbix. Попробуем исправить это недоразумение.
Автором этих python скриптов является Владимир Русинов, всю инфу о версиях, дать фидбек и прочее можно на сайте «зеленое мышко» greenmice.info.
Сегодня я расскажу как можно использовать эти шаблоны для мониторинга nginx, что думаю актуально для многих.
Читать полностью »

image

Совсем недавно возникла интересная задача: реализовать закрытие доступа к веб-сайту из вне, на время технических работ. Мне показалось, что это довольно распространенная задачка, решение которой заинтересует многих.
Один из возможных вариантов решения — ниже.
Читать полностью »

Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.Читать полностью »

Существует множество способов разворачивания Django-приложений в *nix-среде. Не буду претендовать на оригинальность, просто поделюсь самым-самым-самым-самым своим.

Вводные условия

Предпосылки:

  • Один клиент (заказчик) — один юзер в системе на сервере.
  • Все проекты клиента — в одной файловой иерархии.
  • Virtualenv — это хорошо и must use.
  • Ftp — зло, используем современные средства (sftp).
  • Количество файлов для управления проектами должно быть сведено к минимуму.

Используемый софт:

  • nginx
  • uwsgi
  • cron
  • virtualenv
  • openssh

И нефиг тут шариться

Часто бывает так, что нарядуЧитать полностью »

Сегодня столкнулся с проблемой — обнаружилось, что по ошибке старого системного администратора, в одном очень редком случае у нас происходил редирект с обычного 80 порта на порт 8080.

Из-за этого в индекс яндекса попала целая куча страниц, имеющих адрес example.com:8080, потому что проблема существовала уже 3 года, а заметили ее только сейчас.

Проблема усугублялась тем, что сервер конфигурировался автоматически с помощью ISP manager, что привело к тому, что сайты были доступны как по адресу example.com, так и по example.com:8080, и с учетом того, что к серверу было привязано 5 ip-адресов и на нем крутилось около 20 сайтов, переконфигурировать все вручную чтобыЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js