+2.64
Рейтинг
7.24
Сила

Максим

Увеличиваем скорость livestreet. Nginx. GZip и не только.

Недавно перешел с шаред хостинга на VPS и столкнулся с проблемой что VPS работает не очень быстро, при том что тариф взял не самый дешевый (1600MHz и 1024Mb). Перекопал кучу сайтов чтобы разобраться как все сделать лучшим образом, думаю многие с этим сталкивались, хочу сэкономить ваше время и подытожить важные моменты по настройке.
Для тестирования производительности изначально использовал приложение siege, когда меня там цифры стали более-менее радовать, уже начал использовать для тестов замечательный сайт loadimpact.com (количество бесплатных проверок ограничено, не злоупотребляйте сразу). Привожу картинки как было и как стало (сразу хочу заметить увеличение производительности не только из-за настройки nginx).
1. Debian 5 (64) nginx + apache + php-fcgi + eAccelerator + memcache (Апач по сути только для ISPmanager использовался)

2. Debian 5 (32) nginx + apache + mod_php + APC + memcache


Читать дальше →

Ошибка OpenID c google и yandex

Добрый день!

Волею судеб пришлось переехать на другой сервер. Сетап такой: Debian 6, nginx 1.0.10, php5-fpm, mysql, xcache.

Всё прошло гладко, кроме переноса плагина OpenID (1.2.1). Авторизация через яндекс и гугл выдает такую ошибку:

Ошибка: return_to does not match return URL. Expected domain.ru/login/openid/enter/finish/, got domain.ru/login/openid/enter/finish/?janrain_nonce=2011-12-06T17%3A58%3A37ZlhXJNB

Через твиттер:

getRequestToken($sPath))) { return false; } $_SESSION['twitter_oauth_token'] = $sToken = $aRequestToken['oauth_token']; $_SESSION['twitter_oauth_token_secret'] = $aRequestToken['oauth_token_secret']; $_SESSION['oauth_return_path'] = $sPath; switch ($OAuth->http_code) { case 200: $sUrl = $OAuth->getAuthorizeURL($sToken); header('Location: '.$sUrl); break; default: return false; } } public function VerifyTwitter() { if (isset($_REQUEST['twitter_oauth_token']) && $_SESSION['twitter_oauth_token'] !== $_REQUEST['twitter_oauth_token']) { //$_SESSION['twitter_oauth_status'] = 'oldtoken'; unset($_SESSION['twitter_oauth_token']); return false; } if (!isset($_SESSION['twitter_oauth_token']) or !isset($_SESSION['twitter_oauth_token_secret'])) { return false; } $OAuth = new TwitterOAuth(Config::Get('plugin.openid.twitter.token'), Config::Get('plugin.openid.twitter.token_secret'), $_SESSION['twitter_oauth_token'], $_SESSION['twitter_oauth_token_secret']); $aAccessToken = $OAuth->getAccessToken($_REQUEST['oauth_verifier']); $_SESSION['twitter_access_token'] = $aAccessToken; unset($_SESSION['twitter_oauth_token']); unset($_SESSION['twitter_oauth_token_secret']); if (200 == $OAuth->http_code) { return true; } else { unset($_SESSION['twitter_access_token']); } return false; } protected function CheckTwitter() { if (empty($_SESSION['twitter_access_token']) || empty($_SESSION['twitter_access_token']['oauth_token']) || empty($_SESSION['twitter_access_token']['oauth_token_secret'])) { unset($_SESSION['twitter_access_token']); return false; } $aAccessToken = $_SESSION['twitter_access_token']; $OAuth = new TwitterOAuth(Config::Get('plugin.openid.twitter.token'), Config::Get('plugin.openid.twitter.token_secret'), $aAccessToken['oauth_token'], $aAccessToken['oauth_token_secret']); if ($OAuth) { $this->OAuthTwitter=$OAuth; return true; } return false; } public function GetTwitter($sCmd,$aParams=array()) { if (!$this->CheckTwitter()) { return false; } return $this->OAuthTwitter->get($sCmd); } } ?> Fatal error: Class 'PluginOpenid_ModuleOauth' not found in /var/www/domain.ru/engine/classes/Engine.class.php on line 316
Фейсбук и вконтакте работают нормально.

В чем может быть проблема и куда стоит копать? Буду благодарен за любые мысли.
Такое решение не сработало.

Установка sphinx на ubuntu 10.10

Скачиваю сфинкс, конфигурирую его. Но при установке выпадает ошибка:
Fatal error: mysql.h: no such file or directory

Если кто-то устанавливал сфинкс на убунту 10.10, подскажите, пожалуйста, как вы это делали.

Азы работы с git или как скачать себе livestreet с github

В этой статье я расскажу про азы использования git'a на примере установки livestreet с github.
У нас будет основной репозиторий на сервере в дев папке и версии проекта на локальных машиных у нескольких разработчиков.
Почему так?
Наш проект не открытый, поэтому бесплатно его на github выкладывать не получится. Поэтому принято решение держать общий репозиторий проекта на сервере, доступном всем работающим над проектом программистам.

Читать дальше →

Apache + LiveStreet howto

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

Итак, имеем настроенный и рабочий апач, исходники livestreet и желание прикрутить блог на свой сервер.
  1. Читаем с сайта: «For correct work LiveStreet needs PHP of 5.2.1 version or higher with support of addon mbstring...»
    Модуль mbstring не является дефолтным, что приводит нас к сборке php из исходников. Плюс необходимо проследить, что соберется и установится необходимый модуль для апача в процессе установки php. Моя строчка конфигурации получилась:

    $ ./configure --enable-fastcgi --enable-mbstring --with-gd --with-pear --with-snmp --with-ldap --with-mysql --with-mysqli --with-libdir=lib64 --with-apxs2=/usr/sbin/apxs2
    … и далее по иструкции в INSTALL файле php исходников.

    Теперь добавляем пару строчек в конфиг апача:

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  2. Теперь копируем исходники livestreet в нужное место (например, /var/www/html/livestreet) и открываем в браузере install (например, example.com/livestreet/install).
    Все должно быть зеленым, если что-то не так, исправляем (чаще всего дело в правах на папки и файлы). Отдельно удостоверяемся, что mbstring прошел проверку.
    Если вверху и снизу страницы присутствуют ошибки вида
    session_start() open failed: Permission denied

    Это значит, неверно выставлены права на директорию, куда php сохраняет сесии. У меня все заработало, когда я выставил
    session.save_path = "/tmp"
    в /usr/local/lib/php.ini
    Далее следуем иструкциям установщика.

Читать дальше →

"Непофигизм": сообщество неравнодушных людей

Проект "Непофигизм" — не совсем новый проект, но на LiveStreet он работает сравнительно недавно. В данной статье мне бы хотелось поделиться с вами не только информацией о проекте, попытавшись привлечь к нему внимание читателей, но и рассказать о том, как проект создавался, с чего начинался, как эволюционировал и к чему пришел. Кстати, картинка слева — кликабельно.

Апдейт: см.комментарий.

В этом посте вы не увидите перечень установленных плагинов (комплект очевидный), оригинального дизайна (очень хотелось, но не удалось), избыточного количества ссылок (а зачем это делать?), скрытой рекламы или антирекламы конкурентов (моветон же). Остальное, наверное, в посте есть. Если есть желание ознакомиться — прошу заглянуть под кат.
Читать дальше →

Плагин авторизации Loginza для LiveStreet

Как то ранее, я запрашивал у сообщества разработку плагина авторизации для LiveStreet, основанного на нашем сервисе Loginza. В итоге мы в Loginza решили реализовать данный плагин самостоятельно, да и растущий интерес пользователей к нему, только подталкивал на реализацию.

Читать дальше →

Бесплатный плагин баннерокрутилки "Banneroid"



Я так и не смог подобрать нормальную картинку, а в конкурсе не было ничего толкового. Поэтому в качестве лого был выбран баннер с очень высоким CTR :).

Возможности плагина

  • Добавление/редактирование/удаление баннеров.
  • Возможность выбирать дату начала/окончания показов.
  • Выбор места для вывода баннера (под статьей / сайдбар).
  • Выбор страниц на которых показывается баннер (все страницы / блоги).
  • Учет кликов и показов баннера.
  • Просмотр статистики (показы/клики) по всем/отдельным баннерам и по местам вывода баннеров.
  • Равномерная ротация нескольких активных баннеров.

Читать дальше →