Рубрика «nginx» - 41

Наверняка, у многих есть собственные веб серверы. Настройка нового сервера с нуля — достаточно нудное и времяубивающее трудоемкое занятие не только для новичка, но и для бывалых.

А если к тому же по долгу службы вам приходится настраивать по несколько серверов в неделю/месяц, то невольно начинаешь задумываться об автоматизации этого процесса. Хочу поделиться bash скриптом, который я использую для начальной настройки RedHat / CentOS серверов.

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

Не так давно я рассказывал, как у нас в Topface устроено хранение и раздача пользовательских картинок на Topface Developer Day (презентация на speakerdeck), где рассказывал, что картинки мы нарезаем на лету в nginx с помощью image_filter.

Люди в основном продолговатые в вертикальном направлении и фотографии себя для сервиса знакомств делают соответствующие, дизайнеры хотят квадратики, а nginx вырезает людям не совсем то, что интересует людей (лицо я имею в виду). На примере longcat получается примерно следующее:

longcat

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

Ещё раз привет!

У меня появилась шикарная задача для исследования, и своими результатами я хочу поделиться с сообществом. Смысл задачи состоит в том, чтоб определить лучший вариант деплоя NGINX в AWS EC2/VPC. Лучший он должен быть с многих сторон, особенно со стороны высоконадёжности (High Availability) и скорости ответа. Особенно важным фактором так же является быстрота обработки SSL запросов, поэтому были проведены тесты на SLL-производительность.

Все инстансы находятся в одной сети VPC, ELB тоже поднимается в этой же сети.

Было рассмотрено несколько вариаций деплоймента, но выбор пал на 2 основные конфигурации, тесты над которыми я и провёл.

Конфигурация 1. ELB

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

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

image Типичный жизненный цикл приложения включает разработку, тестирование, разворачивание и обновление. Само собой разумеется, что на стадии разработки программисты используют разного рода инструменты для анализа требований, проектирования и моделирования самого решения, а потом занимаются написанием кода приложения. Затем этот код проходит стадию тестирования и попадает на продакшн к конечному пользователю. После этого приложение постоянно обновляют, добавляют новые фичи и т.д.

Платформа Jelastic поддерживает несколько инструментов и функций, которые значительно упрощают управление жизненным циклом приложения. Например, Вы можете использовать встроенный Maven, чтобы собирать проекты прямо в облаке. Непрерывная интеграция с помощью Jenkins или Hudson позволяет идентифицировать ошибки заранее и сразу же исправлять их. Вы можете легко клонировать окружения для разработки, тестирования и продакшина так, что они будут абсолютно идентичны касательно программного стека и топологии. Так же можно легко привязывать доменные имена и переключать их между окружениями, когда это необходимо.Читать полностью »

В своих продуктах мы используем AMQP. Это удобно, это позволяет лучше масштабироваться и позволяет добавлять в сложную систему новые модули и расширения практически без проблем. В качестве брокера используется RabbitMQ. В качестве фронтендов используется Nginx. До недавнего времени мы везде использовали связку php-amqp и librabbitmq для работы с брокером. Но в некоторых частях системы это нам показалось избыточным. Читать полностью »

Вдохновение

Пока 55% ненавидит…

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

Столкнулся с тем, что информации о совместном использовании указанных программ нет, а из коробки, например, logwatch не знает про nginx, как не знает и fail2ban, который к тому же для создания правил использует iptables, а не ufw. Настройка же по частям, используя приведенный ниже список гайдов, требует косметических изменений. Поэтому, хочу привести этот пошаговый рецепт уже содержащий правки и необходимый минимум настроек, для тех, кому это предстоит сделать первый раз.

Действия происходят в дистрибутиве Debian GNU/Linux 6.0 Squeeze под суперпользователем. В качестве почтового сервера используется postfix. Требуется настроить мониторинг логов nginx через logwatch, работу fail2ban через ufw и отправку сообщений на почту.
Читать полностью »

Победители премии Duke's Choice Award 2012 были объявлены командой Oracle в преддверье самого крупного ежегодного события в мире Java – конференции JavaOne в Сан-Франциско, и мы среди них! Проект Jelastic победил в номинации «Технологический лидер». Было очень приятно разделить пьедестал почёта с другими победителями, среди которых Hadoop Project, Parleys.com и Liquid Robotics. Это не только наша победа, это победа всех читательов, ведь наш проект зародился на Хабре и постоянно развивается благодаря Вашему активному фидбэку. Огромное спасибо за поддержку!

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

ModSecurity — популярный бесплатный Web Application Firewall (WAF) с открытыми исходными кодами. Долгое время существовал только в виде модуля к веб-серверу Apache.
Читать полностью »

HTTP-ответ сервера содержит не только машиночитаемый текст, но иногда и скрытые послания для людей. Например, WordPress.com вставляет в заголовок поле X-hacker с текстом: «Если вы читаете это, то вам следует пойти на automattic.com/jobs и заполнить анкету». Объявления с приёмом на работу внедряют и другие серверы, например, Gigaom.com. Поскольку он размещается на WordPress, налицо конкуренция работодателей внутри служебных полей.

Server: nginx
Date: Wed, 15 Aug 2012 14:04:39 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding, Cookie
Last-Modified: Wed, 15 Aug 2012 14:03:40 GMT
Cache-Control: max-age=241, must-revalidate
X-hacker: If you’re reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
P3P: CP=”GigaOM has a Privacy Policy available at gigaom.com/privacy-policy/
X-PickUsInstead: Cool company, cooler headers, join the team! Send an email to jobs@gigaom.com and mention this header.
X-Pingback: gigaom.com/xmlrpc.php
X-nananana: Batcache
Content-Encoding: gzip

Вот забавная подборка нестандартных HTTP-заголовков на разных серверах.
Читать полностью »


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