Posts Tagged ‘ Web

Debian Jessie: WEB-сервер — ускоряемся … (memcached, xcache)

Это заметка из цикла стетей моего небольшого HowTo по Debian Jessie.

Попробуем немного ускорить выдачу сервером web-контента. Начнем с простого пятиминутного тюнинга … сессии. По умолчанию сессии пользователей на сервере хранятся в виде отдельных файликов на файловой системе в директории /var/lib/php5/sessions Это вполне отлично при малом количестве посетителей ресурса, но становится проблемой при увеличении посещаемости, так как дисковые операции очень «дорогие» и «тяжелые» с точки зрения сервера. Такой способ хранения сессий порождает излишнюю нагрузку на дисковую подсистему сервера и замедляет выдачу контента пользователям. Выход придуман давным давно — перенести сессии в RAM-у сервера. Простейшим решением является сервис memcached который представляет из себя key value базу данных работающую исключительно в оперативной памяти. Это, кстати, таит в себе и побочный неприятный момент — в случае перезапуска сервиса memcached или сервера целяком — база очищается, а значит пользователям придется «перелогиниться». Если это критичный для вас момент — тогда лучше использовать сервис который синкает базу данных на диск, например couchbase или redis. Но я не дорожу своими сессиями, потому что пользователей у меня чуть больше чем 1 🙂 поэтому буду использовать memcached
Установим необходимые пакеты:

gw:~$ sudo apt-get install memcached php5-memcached

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

Debian Jessie: Настройка WEB сервера (Apache2/Nginx/PHP-FPM)

Это статья из цикла стетей моего небольшого HowTo по Debian Jessie.

Чуть раньше я коротенько описал процесс установки и базовой настройки всех необходимых компонентов для WEB сервера:
Debian Jessie: Настройка apache2 + libapache2-mod-php5
Debian Jessie: Установка и настройка Nginx
Debian Jessie: Установка и настройка PHP5-FPM

Из этих компонентов мы сложим несколько вариантов настройки WEB сервера:
1. Nginx -> Apache2 -> libapache2-mod-php5
2. Nginx -> PHP5-FPM
3. Nginx -> PHP5-FPM в chroot

Поехали … Читать полностью

Debian Jessie: Установка и настройка PHP5-FPM

Это статья из цикла стетей моего небольшого HowTo по Debian Jessie.

Современный Интернет трудно представить без языка PHP, но возможностей работать с PHP из коробки нет ни у кого среди WEB-серверов. С Apache2 мы уже разобрались, установив для него модуль php, а вот с Nginx не так просто — он умеет работать с PHP по протоколу CGI. Наиболее прогрессивной вариацией CGI на сегодняшний день является FastCGI, а менеджер процессов для него — PHP-FPM. Он есть в стандартных репозиториях Debian под именем php5-fpm.
Установим:

gw:~$ sudo apt-get install php5-fpm

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

Debian Jessie: Установка и настройка Nginx

Это статья из цикла стетей моего небольшого HowTo по Debian Jessie.

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

Для начала установим nginx (используются стандартные репы Debian Jessie):

gw:~$ sudo apt-get install nginx-extras

И поехали …
Читать полностью

Debian Jessie: Настройка apache2 + libapache2-mod-php5

Это статья из цикла стетей моего небольшого HowTo по Debian Jessie.

В данной статье мы установим и базово настроим apache2 — один из компонентов самой простой и популярной схемы WEB hosting-ов:

nginx -> apache2 -> mod_php5

Новичкам часто непонятно, зачем в современном вебе досих пор используется apache? Ведь Nginx якобы эффективно отдает статику (png, jpg, css, js … etc), а php-fpm отлично работает с php-кодом и подружить их вместе не составляет труда. Но тут есть небольшая ложка дегтя в виде файлов .htaccess/.htpasswd которые не умеет обрабатывать nginx, а apache умеет 🙂 Данные файлики очень часто используются web-мастерами для различного рода настроек, таких например как реврайты, права доступа, опции php и тд. Простыми словами, это дает пользователю возможность самому, без перезапуска сервисов, настраивать множество нюансов связанных как с apache так и с php. В отличии от этого, перенастройка компонентов связки Nginx + PHP-FPM возможна только со стороны админа и требует перезапуска сервиса. Читать полностью

Перестраиваем apache22 + mod_php5 -> nginx + apache22 + mod_php5

На одном из серверов понадобилось добавить чуть больше гибкости web-серверу. Система FreeBSD, web-сервер настроен по олдскульной классике: Apache22 -> mod_php5 -> MySQL. Поскольку ковырять старичка апача особо желания нет, решил просто «накрыть» его nginx-ом и докрутить в нем все свои хотелки (GeoIP, bandwidth limit, различные варианты отдачи в зависимости и User Agent и тд.) Тоесть нужна вот такая схема: Nginx -> Apache22 -> mod_php5 -> MySQL
Основная задача — свести к минимуму Downtime.
Итак, поехали … Читать полностью

Pentaho + Saiku = Nginx «Error 400 Illegal character in path…»

Блин, последнее время часто натыкаюсь на какието нёхи … притом на ровном месте 🙂
Решил за nginx засунуть Pentaho и Pentaho-DI, сделал по этой статье … на данном этапе проблем не возникло. А вот установленный в Pentaho плагин Saiku Analytics отказался фильтровать данные при постройке OLAP-ов … После тучи угробленного времени с дебагом java, решил копнуть в сторону nginx, и правильно сделал 🙂 Он то зараза мне свинью и подсунул в виде вот такой ошибки:

122.122.100.2 - - [13/Dec/2014:09:07:01 +0000] "GET /pentaho/plugin/saiku/api/api/query/2CA565443-5B4B-3841-AC54-168602DCE65C/result/metadata/hierarchies/%5Bboss.default%5D/levels/fio?result=true&searchlimit=3000&_=1418720804584 HTTP/1.1" 400 990 "https://pentaho.somedomain.com/pentaho/content/saiku-ui/index.html?biplugin5=true&ts=1418720803760" "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.3.0" "-"

Ошибка эта изза того что jQuery саиковский генерит GET запрос содержащий символы «[]» которые nginx лихо преобразовывает в «%5B» и «%5D» и уже в таком виде отдает tomcat-у … на что томкат рычит и запрос не понимает, тупо отбрасывает с ошибкой.
Для решения данной проблемки достаточно в конфиге nginx убрать слеш в параметре proxy_pass. Короче … делай как я! Читать полностью

Два сервера Ubuntu 14.04 (Trusty Tahr) — настройка GlusterFS

Понадобился файловый кластер в Linux, вот и подвернулся случай опробовать нашумевший в свое время GlusterFS. Альтернативой для gluster может быть drbd, о нем я тоже напишу както попозже … на этот раз подымаем Gluster!
Имеем, 2 сервера с установленной Ubuntu 14.04 LTS. IP адреса 100.100.100.100 (www-srv1) первый и 100.100.100.200 (www-srv2) второй.
Действия ниже делаются на обоих серверах, в случае необходимости я буду указывать что делается на одном сервере, также это можно понять из приветствия консоли!
1. Начинаем как всегда сначала, обновляем информацию о пакетах:

apt-get update

2. Теперь добавляем репозиторий с пакетами GlusterFS версии 3.4:

apt-get install python-software-properties
add-apt-repository ppa:semiosis/ubuntu-glusterfs-3.4
apt-get update

И поехали дальше …. Читать полностью

Joomla 1.7.3 Upgrade to 1.7.5: Error Undefined property: stdClass::$category_note

Сломался у меня на днях один сайтик, ну точнее не совсем у меня и не совсем сломался … ну то детали. Какеры постарались, мать их! Ну Joomla была лохматой версии 1.7.3 и как она досих пор прожила без присмотра — для меня загадка. Но речь не об том. Почистив гору всякого контрафактного файла и восстановив доступ к админке, я решил Jooml-у обновить. Решил что минорного обновления до версии 1.7.5 в моем случае будет более чем достаточно. Несмотря на минорность в пакете обновления зашла приличная пачка различных security исправлений … чего мне и требовалось. Обновить данную CMS дело несложное, даже для полного нуба в Joomla как я, это особого труда не составило. Но после обновления вылезла неожиданная беда! На некоторых страницах вместо текста появились вот такие ошибки:

Notice: Undefined property: stdClass::$category_note in /home/www/templates/jblank/html/com_content/article/basic.php on line 6

И еще вот такие: Читать полностью

Roundcube 0.9.5 Upgrade to 1.0.3 — «DB Schema: NOT OK»

Тот кто сталкивался с обновлением Roundcube наверняка знает что обновить его это тот еще гемор 🙂 Вот и в этот раз я столкнулся с трудностями обновления с версии 0.9.5 до 1.0.3. То что конфиги разные и имеют разный формат — это ложка дегтя … ну да ладно. А вот обновления БД всегда были «поребриком» о который спотыкается каждый 🙂 Короче, наткнулся на такую вот ошибку: «DB Schema: NOT OK»
В инсталлере есть кнопочка «Update» которая якобы должна решить эту проблему, вот же она:

Roundcube - Upgrade SQL DB
но какую бы версию я не выбирал — ничего Читать полностью