Определяем нагрузку на сервер Apache

Владимир | | PHP, Web разработка.

В этой статье я расскажу о том, как получить данные о работе web сервера Apache и представить их в удобном для анализа виде.

Начнем с получения данных.

Для того этого, необходимо подключить модуль mod_status. Он отслеживает работу сервера и показывает данные в виде обычной html страницы. С его помощью можно узнать:

1) количество процессов, выполняющих обработку запросов;

2) количество процессов, которые находятся в состоянии ожидания;

3) состояние каждого процесса, число обработанных им запросов и переданных данных;

4) общее количество запросов и переданных данных;

5) время работы сервера (запуск, перезапуск и общее время работы (uptime));

6) общая статистика: среднее число запросов в сек, байт на запрос, байт в сек;

7) использование CPU каждым процессом отдельно и apache’ем в целом в данный момент;

8 ) хосты и их запросы, которые обрабатываются в данный момент.

Переходим к настройке
Читать дальше

Оптимизируем главную страницу блога

Владимир | | Web разработка, WordPress.

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

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

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

К тому же, вполне разумно публиковать новости, касающиеся темы вашего блога, но их сложно назвать «высококачественными статьями».

И вот тут возникает проблема.
Читать дальше

Создаем скрипт для автоматической отправки опечаток

Владимир | | HTML, JavaScript, PHP, Web разработка.

Если вы следите за новыми web сервисами, то наверняка слышали о системе Orphus Дмитрия Котерова. Её основная цель – уменьшить количество орфографических ошибок на web сайтах.

Идея очень простая и элегантная. Если посетитель видит ошибку, то он выделяет её с помощью мышки и нажимает «Ctrl+Enter». После этого, владелец сайта получает письмо с выделенным текстом. Главное преимущество в том, что посетителю нужно сделать минимум действий. Никаких перезагрузок страниц и заполнения форм, нужна только поддержка JavaScript в браузере.

В этой статье я расскажу о том, как самостоятельно сделать подобную систему для собственного сайта.

Преимущества такого решения.

1) Вы не зависите от стороннего сервиса.

2) Сообщения об опечатках можно будет просматривать через web интерфейс. Все-таки это удобнее чем копаться в почте 😉 .

3) Можно легко реализовать защиту от спама.
Читать дальше

Радикальный метод защиты новостного блога от спама

Владимир | | htaccess, Web разработка, WordPress.

Представьте ситуацию. Вы ведете новостной блог, публикуете несколько постов в день, постепенно становитесь популярным 😉 . Количество комментариев постоянно растет, только спама появляется все больше…

Бороться с этим явлением можно разными способами от установки CAPTCHA до использования специальных служб вроде Akismet. Но вы находитесь в менее выгодном положении, чем большинство блоггеров. Постов очень много и естественно вы не сможете легко вспомнить, о чем шла речь полгода назад.
Читать дальше

Предварительный просмотр комментариев в блоге на WordPress

Владимир | | Web разработка, WordPress.

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

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

Для web мастера это конечно не проблема, но что делать человеку который вообще не слышал о тегах?
Читать дальше

Загрузка файлов по FTP с помощью Phing

Владимир | | Phing, PHP, Web разработка.

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

В стандартной комплектации Phing загрузку по FTP не поддерживает (кстати, довольно странно). Но, естественно, писать самостоятельно этот task не придется. Все уже сделано за нас 😉 .

Я нашел два task’а, предназначенных для работы с FTP: FtpUploadTask и FtpDeploy.
Читать дальше

Запуск сторонних программ из Eclipse

Владимир | | Eclipse, Phing, Web разработка.

Современные IDE буквально «нашпигованы» различными возможностями. Тем не менее, предусмотреть все невозможно и возникают ситуации, когда нужно использовать дополнительные программы. Речь, прежде всего, идет о различных консольных утилитах.

Естественно, гораздо удобнее, запускать эти утилиты прямо из меню IDE, а не из консоли. Эта заметка о том, как добавить такую возможность в Eclipse.

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

В качестве примера рассмотрим запуск Phing (о нем речь шла в прошлой статье).

Формат команды такой:
Читать дальше

Использование Phing для сборки web приложений

Владимир | | Phing, Web разработка.

В этой статье я хочу рассказать об использовании Phing при разработке небольшого web приложения. Почему небольшого? Все очень просто. С одной стороны в качестве примера будет использован реальный build файл, а не упрощенный вариант из учебника. А с другой – этот build файл достаточно короткий, и о нем можно было рассказать в рамках статьи 😉 .

Примечание. Phing – это система сборки проектов, основанная на Apache Ant. Я предполагаю, что вы знаете как её установить и настроить. Если нет – читайте «Программирование на PHP. Избавляемся от рутинных операций с помощью Phing».

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

Недавно я писал о генераторе форм для фреймворка CodeIgniter. Как вы понимаете приложение небольшое, но, тем не менее, перед переносом его на сервер нужно сделать массу рутинных операций.

1) Subversion в каждой папке приложения создает скрытую папку “.svn”, что значительно усложняет «ручное» копирование файлов. Т.е. каждую папку придется копировать отдельно.

2) JavaScript и CSS файлы желательно сжать.

3) Кроме того, много маленьких файлов загружаются дольше, чем один большой. Т.к. в данном приложении используется 5 js-файлов, то разумно будет объединить их в один. С другой стороны, во время разработки удобнее работать именно с 5-тью маленькими файлами.

4) Раз мы объединяем несколько js-файлов в один, то необходимо изменить теги <script> в заголовках страниц.

5) Практически все современные браузеры поддерживают gzip сжатие. Поэтому сделаем архивную версию объединенного JavaScript файла (для браузеров, которые поддерживают gzip, будем отдавать архивную версию, всем остальным — обычную).

Как видите, работы не много. Но представьте, вы подготовили приложения для размещения на сервере, и нашли ошибку или решили что-то изменить. Исправить сжатые js файлы конечно можно, но, поверьте, это далеко не самое увлекательное занятие 🙂 . Т.е. вам придется внести исправления в исходный вариант и выполнить все шаги с 1 по 5 заново.

Естественно такую работу можно автоматизировать и Phing отлично подойдет в этой ситуации.
Читать дальше

Webgrind – удобный интерфейс для анализа быстродействия PHP скриптов

Владимир | | PHP, Web разработка.

О xDebug знает, наверное, каждый PHP разработчик. Этот отладчик позволяет получить подробную информацию о работе PHP скрипта.

Одной из самых интересные его возможностей является анализ производительности (profiling). Если говорить кратко, то в этом режиме xDebug отслеживает, какие функции были вызваны и сколько времени они выполнялись. Т.е. вы сможете легко найти «узкие» места в приложении.

Но результаты анализа записываются в текстовый файл в специальном формате, и просматривать его с помощью обычного редактора очень не удобно. Самыми известными приложениями для работы с этими файлами являеются KCacheGrind (под Linux) и WinCacheGrind (аналог для Windows).

Но недавно я узнал, что существует web приложение для просмотра файлов. Называется оно Webgrind.
Читать дальше

Незаметная загрузка картинок

Владимир | | CSS, HTML, Web дизайн, Web разработка.

В этой заметке я хочу рассказать об одном нюансе, который обязательно нужно помнить при создании web интерфейса или дизайна сайта.

Часто для того, чтобы подчеркнуть, что страница реагирует на действия посетителя, используют дополнительные изображения (например, gif анимацию).

Самый распространенный пример – индикаторы загрузки. Кстати, существует бесплатный сервис, который создает такие загрузчики.

Алгоритм работы в большинстве случаев следующий:
Читать дальше