Разбираемся в HTTP прокси NGINX, балансировке нагрузки, буферизации и кешировании

В этой мы рассмотрим возможности сервера NGINX в http проксировании, что помогает перенаправлять запросы на бекэнд сервера для дальнейшей обработки. Довольно часто Nginx настраивают в качестве реверсивного прокси для упрощения масштабирования инфраструктуры или для перенапраления запросов на сервера, которые не предназначены для работы при большой нагрузке.

Также мы затронем каким образом можно осуществить масштабирование при помощи встроенных в Nginx средствах балансировки и каким образом буферизация и кеширование помогут вам улучшить работоспособность прокси.

Читать далее...

Простая балансировка нагрузки для MySQL и PHP с помощью библиотеки mysqlnd

  • PHP
  • 3 года назад

MySQL всегда занимал первое место в качестве СУБД для работы с PHP. Так было практически с создания языка. Конечно сейчас, применяются и PostgreSQL, SQL Server или Oracle, но для работы в web зачастую используется MySQL.

Выбор пал на MySQL потому, что на запуск решения не приходилось тратить много времени. libmysqlclient распространялся вместе с PHP до тех пор пока не был лицензирован под GPL, после чего эта библиотека была исключена из состава PHP.

Читать далее...

Обзор компонентов Symfony2 : Авторизация

  • PHP
  • 3 года назад
  • 4/6

В случае если любой из провайдеров аутентификации (см. Провайдеры аутентификации) подтвердит непроверенный токен, то будет возвращен аутентифицированный токен. Аутентификационный подписчик должен напрямую установить этот токен в TokenStorageInterface при помощи метода [setToken()](http://api.symfony.com/2.6/Symfony/Component/Security/Core/Authentication/Token/Storage/TokenStorageInterface.html#setToken()).

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

Читать далее...

Что нового в Symfony 2.7: Twig в роли полноправной составляющей фреймворка

  • PHP
  • 3 года назад

Когда я (далее Я заменяйте на Fabien Potencier) начинал работать над Symfony2, twig не существовал вовсе. Поэтому для упрощения работы с PHP я создал Symfony Templating Engine.

Позднее, осознав все неудобства работы с PHP в качестве шаблонизатора, я решил написать свой язык для шаблонов, а именно - Twig, в основу которого я взял язык Jinja2 из Python. Таким образом Symfony2 стал первым популярным фреймворком, который использовал шаблонизатор не на PHP. Конечно, тогда я и не мог представить, что Twig станет настолько популярным среди разработчиков Symfony и поэтому я предусмотрел возможность использования в Symfony2 как Twig, так и PHP.

Читать далее...

10 вопросов, которые должен задать себе веб-разработчик

Тогда сразу же откладываем в сторону книги из серии “Изучаем супер-пупер язык версии 8.3 за 24 часа”. И просто каждый день отвечаем на следующие десять вопросов.

Ищите паттерны в рабочих и проблемных участках кода. Таким образом вы откроете для себя связь между вещами, которые на первый взгляд, как вам показалось, не имеют ничего общего. Для более глубоко понимания своей работы, просто заведите себе новую привычку - спрашивайте себя “Нет ли здесь шаблона”.

Читать далее...

Размещение Rails приложения на Ubuntu 14.04 и серверах Apache и Passenger

Думаю, что стоит взять образ 32 битной Ubuntu, так как эта система потребляет гораздо меньше памяти чем её 64 битный аналог (примерно в два раза). Тем не менее, если вам нужна более мощная станция или вы планируете добавлять память размером болльше 4 ГБ, то тогда следует рассмотреть Ubuntu 64.

Используйте только Ubuntu 14.04, так как на момент написания этой статьи Ubuntu 14.10 не имеет в своих хранилищах Passenger APT репозиторий. Так же Ubuntu 14.04 это LTS релиз, что означает, что её поддержка будет осуществляться куда дольше, чем у 14.10. Такие релизы изначально задуманы таким образом, чтобы люди могли дольше его использовать без переустановок. Ubuntu гарантирует выпуск обновлений для этих версий в течение пяти лет.

Читать далее...

Новый элемент HTML <picture> позволит загружать сайты быстрее

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

Однако подобные картинки могут вдарить по посетителям вашей странички. Объем изображения может занимать 1 МБ от объема средней страницы в 1,7 МБ.

Это не будет проблемой для тех, кто заходит на сайты с компьютеров с высокоскоростным подключением к сети. Но если вы захотите привлечь трафик за счет пользователей мобильных устройств, то это становится важным вопросом. Тяжелые веб-странички будут долго прогружаться, посетители могут не дождаться и покинуть сайт.

Читать далее...

Введение в облачный хостинг

Облачный хостинг - способ использования виртуальных серверов таким образом, что пользователь может легко создавать, изменять и удалять эти сервера. По сути облачный сервер - это выделенные ресурсы на физическом сервере, как, например, CPU ядра или память, где пользователь может установить нужную ему ОС и настроить её по своему усмотрению. Такой подход часто применяется для хостинга сайтов, отправки и хранении электронной почты, а также при размещении других веб приложений.

Читать далее...