Всех с Новым годом!
Вопрос:
Есть ли где-то в настройках drupal или apache параметр, ограничивающий количество сайтов на одном "ядре" drupal'а?
Генезис вопроса: на локальном хосте Apache (2.2 под Win2k) в папке с drupal (6.19) настроено 10 мультисайтов (точнее, 1 корневой + 10 имеющих собственную директорию). Одиннадцатый (т.е. следующий) ставится не хочет (пробовал два разных). На процедуру инсталляции выходит, после выбора языка и нажатии кнопки задумывается и не выдает ответа. В логах - ошибка 500.
Есть какие предложения по направлению копания? Т.к. хостинг локальный, то никакой "перегруз" тут не катит - сайты запускаются по отдельности.
Комментарии
Я не понял, вы для каждого узла в мультисайтинге инсталлировали друпал заново?
Меня вот это смущает
Я тоже не допонял ситуации... Как вы делаете мультисайтинг?
Стоит один drupal. В на сервере базы данных для каждого сайта организована отдельная база. Один сайт настроен и работает как default (в соответствующей папке в sites). Для всех других сайтов в папке sites лежат папки типа sitenameN.TESTSITE.RU, содержащие наборы папок: files, modules, themes... В настройках Apache, соответственно, настроены виртуальные хосты. В общем, ничего необычного.
Для первых 11 сайтов все установилось и работает. Для последующих - при первом входе на сайт, когда происходит создание таблиц и наполнение базы сайта - белый экран после предложения выбрать язык сайта, даже на ввод имени базы данных не выходит...
Виртуальный хост в студию + пора бы научиться читать логи ошибок
а по-конкретнее, если можно...
Как я говорил, в access-log'е сайта все нормально проходит с первоначальным запуском, а потом выдается код 500...
или Вы говорите про другой log?
виртуальный хост в студию
Извините, уважаемый, но я не очень понимаю, ЧТО Вы хотите сказать Вашей фразой...
Виртуальные хосты настроили и не знаете что это такое?
у меня 12 сайтов в текущий момент настроены подобным образом. все работают.
что в error.log апача пишется вместе с 500-й ошибкой? проверь если свободное место на диске и сколько друпалу доступно памяти?
В log'е все заканчивается:
На диске свободно полтора гига.
Оперативки 2 гига.
Сайты запускаются по одному.
важно не сколько RAM в системе, а сколько разрешенно использовать апачу и php-скриптам.
Я тоже это подозреваю! Какие параметры это регулируют?
Вас уже несколько раз попросили показать, как настроены виртуальные хосты. Не проще ли показать? Скорее всего действительно там кроется закавыка и то, что 10 других сайтов работают ничего не значит.
Извольте:
Кусок текста из httpd-vhosts.conf:
<VirtualHost 192.168.1.170:80>
ServerAdmin webmaster@winnytestsite.ru
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/drupal"
ServerName ecommerce
ServerAlias ecommerce.winnytestsite.ru
ErrorLog "logs/ecommerce.winnytestsite.ru-error.log"
CustomLog "logs/ecommerce.winnytestsite.ru-access.log" common
</VirtualHost>
<VirtualHost 192.168.1.170:80>
ServerAdmin webmaster@winnytestsite.ru
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/drupal"
ServerName mike.net
ServerAlias www.mike.net
ErrorLog "logs/mike.net-error.log"
CustomLog "logs/mike.net-access.log" common
</VirtualHost>
<VirtualHost 192.168.1.170:80>
ServerAdmin webmaster@winnytestsite.ru
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/drupal"
ServerName remesloart
ServerAlias remesloart.winnytestsite.ru
ErrorLog "logs/remesloart.winnytestsite.ru-error.log"
CustomLog "logs/remesloart.winnytestsite.ru-access.log" common
</VirtualHost>
Первый блок - от работающего сайта. Два вторых - от неработающих. Делалось все методом copy-paste. Все сайты прописаны в локальном hosts
Попытался немного изменить схему мультисайтинга, создав все под корнем одного сайта (не знаю, может это имеет значение; как видно из моего предыдущего поста - один из сайтов "нарушал" эту схему).
Не помогло (что, вероятно, кому-то очевидно).
Может действительно не хватает ресурсов, т.к. все логи всех сайтов "захвачены" (не открываются на редактирование, по крайней мере, FAR'ом).
Странно - Перечень ресурсов в предыдущем посте, вроде бы не так их и мало... Как это можно проверить?
Полный кусок access-log'а при первом входе на новый сайт:
192.168.1.170 - - [04/Jan/2011:19:32:04 +0300] "GET /install.php HTTP/1.1" 302 -
192.168.1.170 - - [04/Jan/2011:19:32:05 +0300] "GET /install.php?profile=default HTTP/1.1" 200 3256
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /modules/system/system-menus.css?0 HTTP/1.1" 200 935
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/print.css?0 HTTP/1.1" 200 1251
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /modules/system/defaults.css?0 HTTP/1.1" 200 757
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /modules/system/system.css?0 HTTP/1.1" 200 10020
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/style.css?0 HTTP/1.1" 200 18844
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /modules/system/maintenance.css?0 HTTP/1.1" 200 425
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/minnelli/logo.png HTTP/1.1" 200 5399
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /misc/favicon.ico HTTP/1.1" 200 5430
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/minnelli/minnelli.css?0 HTTP/1.1" 200 378
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/images/body.png HTTP/1.1" 200 712
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/images/bg-content-right.png HTTP/1.1" 200 3169
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/images/bg-navigation.png HTTP/1.1" 200 104
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/images/task-list.png HTTP/1.1" 200 128
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/images/bg-content.png HTTP/1.1" 200 485
192.168.1.170 - - [04/Jan/2011:19:32:07 +0300] "GET /themes/garland/images/bg-content-left.png HTTP/1.1" 200 3275
192.168.1.170 - - [04/Jan/2011:19:32:16 +0300] "POST /install.php?profile=default HTTP/1.1" 302 -
192.168.1.170 - - [04/Jan/2011:19:32:17 +0300] "GET /install.php?profile=default&locale=ru HTTP/1.1" 500 -
В error.log Apache ничего необычного нет. При старте сервера производятся записи:
[Tue Jan 04 19:49:55 2011] [notice] Server built: Mar 4 2010 11:27:46
[Tue Jan 04 19:49:55 2011] [notice] Parent: Created child process 1640
[Tue Jan 04 19:49:55 2011] [notice] Child 1640: Child process is running
[Tue Jan 04 19:49:55 2011] [notice] Child 1640: Acquired the start mutex.
[Tue Jan 04 19:49:55 2011] [notice] Child 1640: Starting 64 worker threads.
[Tue Jan 04 19:49:55 2011] [notice] Child 1640: Starting thread to listen on port 80.
При вызове "неработающих" сайтов ничего нового не добавляется.
Апач, как я понимаю, запускается со threads. А безопасно ли использовать apache threads + php под windows? Под *nix такая комбинация точно приведет к проблемам.
p.s. ну у тебя и сайтег прописан в vhosts
Может банально срабатывает какое-то ограничение Windows, типа на сетевые подключения или т.п. ?
Нет. Сайты - учебно-тренировочные, загрузки минимум.
к слову, тривиальный тест как проверить есть ли ограничение на количество вирт.хостов – убрать один из преждних сайтов из vhosts и попробовать вызвать тот, что вызывал ошибку.
/me только что посчитал:
197 1832 14520
Итого 196 сайтов в мульти-сайтинге на одной установке.
М-да...
Проблему удалось... "преодолеть" только радикально увеличив в php.ini директиву max_execution_time - до 180, хотя реальное наблюдения показало, что хватило бы и 100.
В общем, что-то реально тормозит PHP, возможно, какие-то из установленных ранее сайтов с большим набором модулей...
Кстати, простое отключение нескольких несложных (в части функционального наполнения) сайтов никакого существенного эффекта не дало.
В общем, спасибо за участие...
Коллеги!
Где можно прочитать про архитектуру работы [мульти]сайтов на Drupal, особенно в части понимания, что грузится и занимает сервер независимо от того, используется ли сайт или нет?