одну проблему нашел: cron тоже перестал запускаться и при запуске файла notify.php через консоль вижу, что ругается на файл /plugins/aceadminpanel/config/config.localhost.php — Undefaned index: SERVER NAME
Копаю дальше)
А вы не знаете, это может быть как-то связано с правами, от которых LS слушает порт 9312?
Я уже просто не знаю, что еще посмотреть. У меня сейчас стоит чистый debian 6 с апачем, поиск через консоль так же работает, но сайт ничего не выводит…
точно пусто. В логах сфинкса данные о успешном запуске/перезапуске. В лог запросов ничего не записывается. Лог ошибок nginx полон таких записей:
2013/03/25 18:56:39 [warn] 1893#0: *1340 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000016, client: 89.109.46.164, server: ХХ.ХХ.ХХ.ХХХ, request: "POST /manager/ispmgr HTTP/1.1", host: "ХХ.ХХ.ХХ.ХХХ", referrer: "https://ХХ.ХХ.ХХ.ХХХ/manager/ispmgr?func=file.edit&elid=sphinx.conf&plid=etc%2Fsphinxsearch&operafake=911"
и я понимаю, что это про сфинкс, но ни при поиске ни при перезапуске демона такая строка не появляется и откуда она берется никак не пойму.
Меня, в этой связи, сильно смущает — конфиг nginx. Он поставился сам и я его подкорректировал в сторону работы с php5-fpm, но у меня нет директивы site-aviable или site-enable, т.е. все сразу в nginx.config прописалось. Может он глючный (я половину дефолтных команд не очень понимаю) и перенаправляет куда-нибудь? Посмотрите, пожалуйста:
user www-data;worker_processes 1;
timer_resolution 100ms;
worker_rlimit_nofile 8192;
worker_priority -5; #Увеличитваем приоритет
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
# Включаем сжатие
gzip on;
#Степень сжатия (рекомендую 4-5, больше смысла не имеет нагрузка на ЦПУ растет, а файлы не значительно уменьшаются)
gzip_comp_level 5;
# Разрешаем выдавать в ответе строку заголовка "Vary: Accept-Encoding" (Google Page Speed будет доволен)
gzip_vary on;
# Запрещаем проверку наличие готового сжатого файла. (в правилах разрешаем только там где нужно, если везде проверять дополнительные действия будут в системе делаться чтобы проверить существование таких файлов)
gzip_static off;
# Типы файлов которые мы будем сжимать
gzip_types text/css text/plain application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
# Указываем минимальную длина ответа, при которой модуль будет сжимать, в байтах (сжимаем файлы больше киллобайта, меньше смысла не имеет слабо ощутимо сжатие будет)
gzip_min_length 1024;
# Запрещаем сжатие ответа методом gzip для IE4-6 (можно записать регулярным выражением, но по словам автора nginx так быстрее будет работать)
gzip_disable "msie6";
# Разрешить сжатие для всех проксированных запросов
gzip_proxied any;
include /etc/nginx/conf.d/*.conf;
include /usr/local/ispmgr/etc/nginx.domain;
client_max_body_size 16M;
log_format isp '$bytes_sent $request_length';
server {
server_name site.ru www.site.ru;
listen XX.XX.XX.XXX;
server_tokens off;
disable_symlinks if_not_owner from=$root_path/$subdomain;
index index.php;
set $root_path /var/www/site/data/www/site.ru;
root /var/www/site/data/www/site.ru;
set $subdomain "";
if ($host ~* ^((.*).site.ru)$) {
set $subdomain $2;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path/$subdomain;
access_log /var/www/nginx-logs/site isp;
error_page 404 = @fallback;
}
location / {
proxy_pass http://XX.XX.XX.XXX:81;
proxy_redirect http://XX.XX.XX.XXX:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location /templates/cache/synio/ {
gzip_static on;
}
location ~ \.php {
fastcgi_pass unix:/tmp/fastcgi.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ \.(tpl|xml|log)$ {
deny all;
}
location /uploads/ {
location ~ .*\.(php)?$
{
deny all;
}
}
location /bannerbank/banner/ {
location ~ .*\.(php)?$
{
deny all;
}
}
location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {
proxy_pass http://XX.XX.XX.XXX:81;
proxy_redirect http://XX.XX.XX.XXX:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location @fallback {
proxy_pass http://XX.XX.XX.XXX:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
include /usr/local/ispmgr/etc/nginx.inc;
}
У меня стоит сейчас 2.0.6, но точно помню, что в 0.8.х, который раньше как-то ставил, я убирал директиву порт, т.к. с ней не работало. Ее снова вернули в обиход?
## Конфигурационный файл Sphinx-а для индексации Живой улицы
#######################
#
# Описываем индексы
#
#######################
# Источник-родитель для всех остальных источников. Здесь указываются параметры доступа
# к базе данных сайта
source lsParentSource
{
type = mysql
sql_host = localhost
sql_user = user
sql_pass = pass
sql_db = name
sql_port = 3306
# Для ускорения работы прописываем путь до MySQL-го UNIX-сокета (чтобы
# операции с БД происходили не через TCP/IP стек сервера)
sql_sock = /var/run/mysqld/mysqld.sock
mysql_connect_flags = 32 # 32- включение сжатие при обмене данными с БД
# Включам нужную кодировку соединения и выключаем кеш запросов
sql_query_pre = SET NAMES utf8
sql_query_pre = SET SESSION query_cache_type=OFF
}
# Источник топиков
source topicsSource : lsParentSource
{
# запрос на получения данных топиков
sql_query = \
SELECT t_fast.topic_id, t_fast.topic_title, UNIX_TIMESTAMP(t_fast.topic_date_add) as topic_date_add, \
tc.topic_text, t_fast.topic_publish \
FROM prefix_topic as t_fast, prefix_topic_content AS tc \
WHERE t_fast.topic_id=tc.topic_id AND t_fast.topic_id>=$start AND t_fast.topic_id<=$end
# запрос для дробления получения топиков на неколько итераций
sql_query_range = SELECT MIN(topic_id),MAX(topic_id) FROM prefix_topic
# сколько получать объектов за итерацию
sql_range_step = 1000
# Указываем булевый атрибут критерия "топик опубликован". Для возможности указания этого критерия при поиске
sql_attr_bool = topic_publish
# Атрибут даты добавления, типа "время"
sql_attr_timestamp = topic_date_add
# мульти-аттрибут "теги топика"
sql_attr_multi = uint tag from query; SELECT topic_id, topic_tag_id FROM prefix_topic_tag
sql_ranged_throttle = 0
}
# Источник комментариев
source commentsSource : lsParentSource
{
sql_query = \
SELECT comment_id, comment_text, UNIX_TIMESTAMP(comment_date) as comment_date, comment_delete \
FROM prefix_comment \
WHERE target_type='topic' AND comment_id>=$start AND comment_id<=$end
sql_query_range = SELECT MIN(comment_id),MAX(comment_id) FROM prefix_comment
sql_range_step = 5000
sql_attr_bool = comment_delete
sql_attr_timestamp = comment_date
}
# Источник компаний
source companiesSource : lsParentSource
{
sql_query = \
SELECT company_id, company_name, company_name_legal, company_description, UNIX_TIMESTAMP(company_date_add) as company_date_add, company_active, company_city \
FROM prefix_company \
WHERE company_id>=$start AND company_id<=$end
sql_query_range = SELECT MIN(company_id),MAX(company_id) FROM prefix_company
sql_range_step = 1000
sql_attr_uint = company_active
sql_attr_timestamp = company_date_add
sql_ranged_throttle = 0
}
#######################
#
# Описываем индексы
#
#######################
index topicsIndex
{
# Источник, который будет хранить данный индекса
source = topicsSource
path = /usr/local/SphinxIndex/topicsSource/
# Тип хранения аттрибутов
docinfo = extern
mlock = 0
# Используемые морфологические движки
morphology = stem_enru, soundex, metaphone
# Кодировака данных из источника
charset_type = utf-8
# Из данных источника HTML-код нужно вырезать
html_strip = 1
}
# Индекс комментариев
index commentsIndex
{
source = commentsSource
path = /usr/local/SphinxIndex/commentsSource/
docinfo = extern
mlock = 0
morphology = stem_enru, soundex, metaphone
charset_type = utf-8
}
# Индекс компаний
index companiesIndex
{
source = companiesSource
path = /usr/local/SphinxIndex/companiesSource/
docinfo = extern
mlock = 0
morphology = stem_enru
charset_type = utf-8
# Из данных источника HTML-код нужно вырезать
html_strip = 1
html_remove_elements = style, script, code
}
#######################
#
# Настройки индексатора
#
#######################
indexer
{
# Лимит памяти, который может использавать демон-индексатор
mem_limit = 128M
}
#######################
#
# Настройка демона-поисковика
#
#######################
searchd
{
# Адрес, на котором будет прослушиваться порт
listen = localhost:9312
# Лог-файл демона
log = /var/log/sphinxsearch/searchd.log
# Лог поисковых запросов. Если закомментировать,то логировать поисковые строки не будет
query_log = /var/log/sphinxsearch/query.log
# Время в секундах, которое ждет демон при обмене данными с клиентом. По исчерпании происходит разрыв коннекта
read_timeout = 5
client_timeout = 300
# Максимальное количество одновременно-обрабатываемых запросов. 0 означает дофига, а точнее без ограничения
max_children = 100
# Файл, в который сохраняется PID-процесса при запуске
pid_file = /var/run/searchd.pid
workers = threads
compat_sphinxql_magics = 0
}
такая же ерунда — поставил на сервер nginx+php-fpm+fast-cgi и сфинкс умолк. Все работает, индексы создаются верно, все порты работают (даже через сокет пробовал), но сайте пустота — ничего не выдает и в логи запросов ничего не пишет и в логе searchd тоже пусто
Как это настроить?
Копаю дальше)
Я уже просто не знаю, что еще посмотреть. У меня сейчас стоит чистый debian 6 с апачем, поиск через консоль так же работает, но сайт ничего не выводит…
и я понимаю, что это про сфинкс, но ни при поиске ни при перезапуске демона такая строка не появляется и откуда она берется никак не пойму.
Меня, в этой связи, сильно смущает — конфиг nginx. Он поставился сам и я его подкорректировал в сторону работы с php5-fpm, но у меня нет директивы site-aviable или site-enable, т.е. все сразу в nginx.config прописалось. Может он глючный (я половину дефолтных команд не очень понимаю) и перенаправляет куда-нибудь? Посмотрите, пожалуйста:
У меня стоит сейчас 2.0.6, но точно помню, что в 0.8.х, который раньше как-то ставил, я убирал директиву порт, т.к. с ней не работало. Ее снова вернули в обиход?
Ровно с этими конфигами все работало раньше, т.е. они 100% рабочие, но вот почему LS не получает результата поиска — вопрос.