Тут пишут, что установленная связка Апача, PHP и MySQL аналогична, как и на профессиональном хостинге. Я это дело установил, вроде работает. И я работаю, настраиваю виртуальные хосты, как и положено после каждой настройки перезапускаю Апач... и тут у меня возник вопрос, а у профессиональных хостеров что тоже при каждом добавлении домена, при добавлении поддомена происходит перезапуск Апача?
блудный сын Да, но там происходит более быстрый "мягкий" перезапуск, который какой-то функцией API инициируется.
А не профессионалу такой мягкий рестарт Апача сильно тяжело реализовать? Нужно, потому что сервер на котором все это установлено, администрируется удаленно или из локальной сети или из интернета, но чтобы изменения вступили в силу, приходится каждый раз идти к серверу и рестартовать Апач. Это очень не удобно.
Профессионалы предлагают для хостинга ОС на выбор. У всем известного мастерхоста есть и виндовсхостинг.
блудный сын, угу, а на виндовс-хостинге стоит апач? Нет, там стоит ИИС и он под ASP как правило. Под никсами мягкий рестарт апача делается Код (Text): # apache2 -k graceful Под виндой... хрен ее знает.
блудный сын администрируется удаленно.. а что мешает перезагружать удаленно используя апачмонитор, или, на крайняк, накатать простенький батник, который последовательно выполняет Код (Text): net stop apache2 net start apache2
Горбунов Олег в win тоже при вызове apache.exe (2.0.5*) с ключами "-k graceful" происходит перезапуск apache
Статистика по таким тонкостям мне не известна. У меня же связка виндовс+апач. Для нее как-то нужно найти способ удаленного рестарта Апача.
Во-во. Плюс, если вдруг допустил ошибку и Апач не запускается, нужно чтобы можно было удаленно это устранить. В это время рабочим каналом с сервером остается фтп. Может через него можно как-то рестартануть Апач?
вероятнее всего, он тебе скажет, что конфигурация ошибочная и продолжит работать с последней стабильной конфигурацией UPD: с заведомо неправильным конфигом: написал, что конфиг в такой-то строке неправильный и не стал перезапускаться
Тогда это хорошо. А как бы теперь это попробовать сделать? Я ни разу так не делал, даже не представляю как этот запрос к серверу на перезапуск Апача выглядит... Подскажите. А конфиги Апача я меняю по фтп.
можно написать два батника .. один выводит результат команды apache -t второй делает мягкий перезапуск а вообще можно через телнет ... или можно подключатся mstsc (удаленное подключение к рабочему столу) ради безопасности ... мы увязывали две сетки впн-ом и там можно фаерволу разрешить любые методы и телнет. Впн ваяли рутерами тоесть и програмного обеспечения знать не надо ;-)
Батники эти ведь стандартные? Какой код в них должен быть? И как так сделать, чтобы сервер только на мои обращения откликался, а не всех желающих
PHP: <?php echo exec('C:\APACHE\Apache2.0\bin\apache -t'); ?> PHP: <?php echo exec('C:\APACHE\Apache2.0\bin\apache -k restart'); // -k restart : tell running Apache to do a graceful restart ?> эти оба файла убираешь в дерикторию которая запаролена например дигестом ... (описание как паролить)
nimistar первый батник можно опустить.. если конфа неправильная, то апач не перезапустится и не отстановится, скажет, что конф неправильный.
DarkElf, эт да ... просто для спокойствия души (правда я в итоге привел пример без батников , сократил так сказать )
Сделал по второму варианту. Никакого эффекта. Апач не перезапускается. И никакой ошибки не выдает В чем может быть проблема?
Вот что в логах появляется: Код (Text): Usage: С:\\apache\\Apache2\\bin\\Apache [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-w] [-k start|restart|stop|shutdown] [-k install|config|uninstall] [-n service_name] [-v] [-V] [-h] [-l] [-L] [-t] [-S] Options: -D name : define a name for use in <IfDefine name> directives -d directory : specify an alternate initial ServerRoot -f file : specify an alternate ServerConfigFile -C "directive" : process directive before reading config files -c "directive" : process directive after reading config files -n name : set service name and use its ServerConfigFile -k start : tell Apache to start -k restart : tell running Apache to do a graceful restart -k stop|shutdown : tell running Apache to shutdown -k install : install an Apache service -k config : change startup Options of an Apache service -k uninstall : uninstall an Apache service -w : hold open the console window on error -e level : show startup errors of level (see LogLevel) -E file : log startup errors to file -v : show version number -V : show compile settings -h : list available command line options (this page) -l : list compiled in modules -L : list available configuration directives -t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings) -S : a synonym for -t -D DUMP_VHOSTS -t : run syntax check for config files Apache: illegal option -- k
Попробовал по первому варианту - тоже никакого эффекта. Не перезапускается. А в логах Апача появляется тоже, что и во втором варианте, только нет последней строчки.
попробуй использовать -k restart но это "жетский" рестарт, при котором сервер останавливается и запускается снова какая версия апача?