+91.58
Рейтинг
259.88
Сила
как это досих пор никто в каталог не положил
По поводу крона: в /etc/cron.d/ должен лежать файлик sphinxsearch, содержащий как минимум следующую строчку:
3,8,13,18,23,28,33,38,43,48,53,58 * * * * root . /etc/default/sphinxsearch && [ "$START" = "yes" ] && [ -x /usr/bin/indexer ] && /usr/bin/indexer --quiet --rotate --all

Если такого файла нет, то создаем и добавляем строчку.

3,8,13,18,23,28,33,38,43,48,53,58 — это минуты в течении часа, по которым происходит индексация. Тут каждые 5 минут, начиная с третьей минуты.

3,23,43 — это каждые 20 минут, начиная с третьей минуты.

Почему с третьей? ИМХО, главное, чтобы было не кратно 0,5,10..., так как другие сервисы при установке любят забивать минуты кратные пятерке. А одновременно выполнять несколько скриптов — создавать пиковые нагрузки, когда можно без этого обойтись, разнеся выполнение по времени.

Как часто индексировать зависит от того, насколько нужен актуальный поиск. На проекте, где в минуту несколько комментариев и каждые час 1-2 топика, я ставлю индексацию раз в 5 минут. И пользователи активно пользуют поиском (например, проверяя, есть ли топики на срочное событие, чтобы не дублироваться).
Под дебиан squeeze установка намного проще (на данный момент в репозитарии версия 0.9.9):
apt-get install sphinxsearch

В /etc/default/sphinxsearch устанавливаем START=yes

В /etc/sphinxsearch/ редактируем файл (или тупо копируем), меняя 3 значения (обозначены звездочками) sphinx.conf как тут. В файле все прокомментировано по русски.

В ЛивСтрите соответственно указываем в {папка сайта}/config/modules/search/config.php (конфиг сфинкса, лежит изначально):
$config['entity_prefix']  = 'MAIN';
— это сделано для того, чтобы была возможность индексировать несколько разных сайтов на ЛС, указывая разные префиксы.

Проверяем, есть ли следующая строчка в CRONе:
. /etc/default/sphinxsearch && [ "$START" = "yes" ] && [ -x /usr/bin/indexer ] && /usr/bin/indexer --quiet --rotate --all
и настраиваем ее на регулярное выполнение (у меня раз в 10 минут индексируется сайт).

Перезапускаем сфинкс:
searchd --stop
searchd

Проверяем доступность порта:
telnet localhost 3312
Если «Connected to localhost.», то все отлично. Нажимаем «Ctrl-]» и выходим из телнета — «с».
Можно запустить принудительную индексацию вручную (чтобы не ждать следующей индексации по крону):
/usr/bin/indexer --quiet --rotate --all


Работоспособность и возможные ошибки можно выявить в логах (указанных в вышеприведенном конфиге), которые лежат в каталоге /var/log/sphinxsearch/.

Вроде все. Установка должна занять не более 10 минут.
(Хотя, когда я только начинал администрировать сервак, долго разбирался даже по мануалам).
  • avatar xyz
  • 0
protected function ParseUrl() {
		$sReq = $this->GetRequestUri();
		$aRequestUrl=$this->GetRequestArray($sReq);
		
		/**
		 * Damn hack  
		 */
		$sHost = $_SERVER['HTTP_HOST'];
		$aDomain = explode('.', $sHost);
		// user.site.ru
		if (count($aDomain) == 3) {
			if (isset($aRequestUrl[0]) && ($aRequestUrl[0] == 'my')) {
				self::$sAction = 'my';
				self::$sActionEvent = $aDomain[0];
				array_shift($aRequestUrl);
				self::$aParams=$aRequestUrl;
			} else {
				self::$sAction = 'profile';
				self::$sActionEvent = $aDomain[0];
				self::$aParams=$aRequestUrl;
			}
			
			return;
		}

		self::$sAction=array_shift($aRequestUrl);
		self::$sActionEvent=array_shift($aRequestUrl);
		self::$aParams=$aRequestUrl;
	}
  • avatar xyz
  • 1
о, а вот еще можно сделать
$config['router']['uri'] = array(
	'~^(\w+)\/whois~i' => "profile/\\1",
	'~^(\w+)\/favourites~i' => "profile/\\1/favourites",
	'~^(\w+)\/favourites/comments~i' => "profile/\\1/favourites/comments",
);

site.ru/admin/whois/
site.ru/admin/favourites/
site.ru/admin/favourites/comments/
  • avatar xyz
  • 1
config.php
$config['router']['uri'] = array(
	'~^(\w+)\.html~i' => "profile/\\1",
);


юзеры будут располагаться в site.ru/admin.html
делать просто /user не круто, т.к. под это правило подойдут все урл
Собирал как то такой сервер под видео хостинг. Там правда довольно минимальный набор функций был, но работало все… Из старых записей откопал:

Установка MP3 кодека

Скачать исходник
http://lame.sourceforge.net/index.php

Собираем кодек

./configure –enable-mp3lame –enable-gpl –enable-shared –prefix=/usr
make
make install

Установка видео конвертора

Загрузить можно так
cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg или так yum install ffmpeg 

или загрузить исходник тут
http://ffmpeg.mplayerhq.hu/

Собираем конвертор

./configure --enable-gpl --enable-libmp3lame --enable-shared --prefix=/usr
make clean && make
make install

После надо установить кодеки для конвертора – 
libavformat0d
libavcodec0d
libc6
libdc1394-13
libogg0
zliblg

Эти библиотеки и пакеты лучше ставить через RPM менеджеры, например через Synaptic Package Manager


Установка Ruby

Скачать исходник
http://www.ruby-lang.org/en/

Собираем Ruby

./configure
make
make install


Установка FLVTool2

Скачать исходник
http://www.inlet-media.de/flvtool2

Собираем тулзу

ruby setup.rb config
ruby setup.rb setup
sudo ruby setup.rb install


Установка ffmpeg-php

Скачать расширение
http://ffmpeg-php.sourceforge.net/

Собираем расширение

Phpize
./configure && make
Make install

Если нет команды phpize – надо установить пакет

php-dev

Эти библиотеки и пакеты лучше ставить через RPM менеджеры, например через Synaptic Package Manager


Документация по API - http://ffmpeg-php.sourceforge.net/apidoc.php 


Примет конвертирования
ffmpeg –I video_in.avi –ar 22050 –ab 32 –f flv –s 320?240 - | flvtool2 –u stdin video_out.flv

где
video_in.avi – исходный видеоролик
video_out.flv – сконвертированный ролик
s 320?240 – размер финального ролика


Но наверняка щаз уже есть готовые программные серверные комплексы для таких нужд.