Форум программистов, компьютерный форум, киберфорум
Сборки веб-серверов
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 4
1

Денвер: процедура запуска Апача

09.07.2020, 14:33. Просмотров 500. Ответов 7
Метки нет (Все метки)

Доброго всем дня.
Денвером пользуюсь очень давно, на нём у меня сидит коллекция полезных сайтов и страниц, то есть, он используется как хранилище информации. Он у меня пережил со мною вместе многое, примерно с самых первых релизов своих.
Недавно я слегка переделал Денвер - приделал к нему Апач 2.4, Мускл 2.7 и пхп7.
Всё работает - нареканий нет.
Причём я сделал ему приложение для запуска из трея, с возможностью запуска разных связок - старые Апач и пхп, новые Апач и пхп, Апач+nginx.

Но есть такой вопрос - после переделки у меня не отрубается сам Апач. Всё гаснет, но Апач висит, покуда не ткнёшь его.

Соответственно, хочется как-то его гасить иначе. Изучение процедуры запуска не помогло: очевидно, что-то типа путей зашито в исполняемые файлы. Пути-то к Апачу у меня изменены: Апач сидит в каталоге по адресу /usr/local/apache22 вместо /usr/local/apache, так как новый Апач сидит в /usr/local/apache24 и мне показалось логичным а старый Апач посадить в номерной каталог; опять же и новый Апач надо гасить теми же скриптами, он тоже висит запущенным до нажатия на него.

Как правильно сформировать запрос на выключение Апача?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2020, 14:33
Ответы с готовыми решениями:

Как импортировать в денвер БД и пхп файлы из Апача
Дело в обшем такое. Есть БД и файлы её обрабатывающие а апаче, там все в папке www Я работа всегда...

процедура для запуска тестов заново
есть форма. на ней кнопки, нажимаешь на кнопку запуска теста, открывается новая форма с тестами...

Процедура для скрытого запуска BAT-файла, упакованного в EXE-файл
Здарова. Ситуация-файлы передаются между двумя компами, я автоматизировал всё это при помощи...

Настройка апача!!
При настройке апача и его перезагрузки вискакивает. httpd.exe syntax error on line 129 ....... ...

7
213 / 102 / 54
Регистрация: 04.10.2016
Сообщений: 464
24.07.2020, 16:19 2
Цитата Сообщение от John Warner Посмотреть сообщение
Как правильно сформировать запрос на выключение Апача?
используйте командную строку + .bat или написать свой лаунчер.

позвольте узнать?! зачем вам эта головная боль? давно есть уже готовые решения.
имхо, я бы на вашем месте не тратил время на это и практиковался с установками и настройками apache/nginx для linux.
0
867 / 598 / 275
Регистрация: 31.08.2019
Сообщений: 1,721
24.07.2020, 22:23 3
Цитата Сообщение от John Warner Посмотреть сообщение
приложение для запуска из трея, с возможностью запуска разных связок - старые Апач и пхп, новые Апач и пхп, Апач+nginx.
В денвере с Apache2.2 запускается с помощью TrayApache.exe
, которого нет в обычных дистрибутивах apache
Если откроете этот TrayApache.exe в чём-то вроде редактора увидите в нём
Код
##############################################################################
LNK file improver by Dmitry Koteroff (dk@dklab.ru).
You may edit executable file with any binary editor to link to
your custom program. DO NOT insert characters - only replace! 
######################
    Working directory: [.____________________________________________________________]
  Program & arguments: [httpd.exe__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________]
                 Icon: [Apache.ico___________________________________________________]
Run minimized to tray: [x] - set 'x' to activate
Run only one instance: [ ]
         No terminate: [x]
######################
##############################################################################
... там ещё есть много других похожих exe-файлов с разными именами
но не все отличаются только такими редактируемыми строками

Запускаете 2.4. с помощью такого-же лаунчера и он висит в трее ?
Цитата Сообщение от John Warner Посмотреть сообщение
опять же и новый Апач надо гасить теми же скриптами
Имеете ввиду те perl-скрипты что используют настройки из ...\denwer\CONFIGURATION.txt ?
и которые выполняют ....\denwer\scripts\lib\exe\apachesignal.exe
в котором есть такие строки ?
Код
Apache 2.2 for Win32 native signal sender.

Usage:
  apachesignal -p {pid} -k {stop|restart}

(C) Dmitry Koterov (dmitry@koterov.ru), 2008-01-27
(C) Denwer project: http://denwer.ru
0
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 4
25.07.2020, 14:34  [ТС] 4
Моя ошибка, ребята, я не расписал свой вопрос подробно. Исправляюсь - вот мои ответы и объяснения.

Цитата Сообщение от Fart83 Посмотреть сообщение
используйте командную строку + .bat или написать свой лаунчер.
Проверено - см. ниже.

Цитата Сообщение от Fart83 Посмотреть сообщение
позвольте узнать?! зачем вам эта головная боль? давно есть уже готовые решения.
Вы будете на меня ворчать, но это дело привычки. Оно работает отлично, свою задачу выполняет.
К тому же, интерес сугубо спортивный - СДЕЛАТЬ

Цитата Сообщение от Fart83 Посмотреть сообщение
имхо, я бы на вашем месте не тратил время на это и практиковался с установками и настройками apache/nginx для linux.
Сервер есть, там всё нормуль, там центОс седьмой, там всё мигает и бибикает.

Цитата Сообщение от x_lab Посмотреть сообщение
В денвере с Apache2.2 запускается с помощью TrayApache.exe
, которого нет в обычных дистрибутивах apache
Если откроете этот TrayApache.exe в чём-то вроде редактора увидите в нём
Да, спасибо, я в курсе. Беда в том, что я перепаял все вызовы апача, мускла и прочая скриптом из приложения в трее - как в ВАМПе и тд и тп.
Я хекс-редактором открыл файлы, всё просмотрел и сделал так: в ини-файл менюшки для трея, вставил секции

Код
[StartApache22]
Action: run; FileName: "./action.cmd"; Parameters: "main.22 start"; ShowCmd: hidden;

[RestartApache22]
Action: run; FileName: "./action.cmd"; Parameters: "main.22 restart"; ShowCmd: hidden;

[StopApache22]
Action: run; FileName: "./action.cmd"; Parameters: "main.22 stop"; ShowCmd: hidden;

[StartApache24]
Action: run; FileName: "./action.cmd"; Parameters: "main.24 start"; ShowCmd: hidden;

[RestartApache24]
Action: run; FileName: "./action.cmd"; Parameters: "main.24 restart"; ShowCmd: hidden;

[StopApache24]
Action: run; FileName: "./action.cmd"; Parameters: "main.24 stop"; ShowCmd: hidden;

[StartApacheNginx]
Action: run; FileName: "./action.cmd"; Parameters: "main.nginx start"; ShowCmd: hidden;

[RestartApacheNginx]
Action: run; FileName: "./action.cmd"; Parameters: "main.nginx restart"; ShowCmd: hidden;

[StopApacheNginx]
Action: run; FileName: "./action.cmd"; Parameters: "main.nginx stop"; ShowCmd: hidden;
код action.cmd классически простой:
Код
@echo off
..\usr\local\miniperl\miniperl.exe ..\webinterface\scripts\ctrl.pl %1 %2
exit;
И вот оно работает ВСЁ, кроме негаснущего Апача
То есть, я мышей тыкаю в его трей-иконку, вылезает окно, там жму иконку.

Я пытался всячески, согласно манов, слать Апачу команду отбоя, но он не гаснет сам...
С чего бы это...

В Линухе демон Апача стандартной командой гасится вообще без вопросов.

Скромно полагаю, придётся Апач прописывать в службы Венды, тогда он гасится здраво - я проверял; моя же задача состоит в том, чтоб он гасился в стандартном денверском варианте, без служб Венды.

Такая вот загогулина.
0
867 / 598 / 275
Регистрация: 31.08.2019
Сообщений: 1,721
25.07.2020, 16:53 5
Цитата Сообщение от John Warner Посмотреть сообщение
То есть, я мышей тыкаю в его трей-иконку, вылезает окно, там жму иконку.
Иконка может принадлежать или этому TrayApache.exe
или этому Вашему приложению, которое юзает Shell_NotifyIcon()
... т.к. это не может быть ApacheMonitor.exe потомучто оно работает со службами
И насколько я себе представляю, остановить apache, запущенный не как служба а как консольное окно,
Можно или послав этому консольному окну Ctrl+C,
или закрыв его с кнопки
или убив сам процесс этого окна и все процессы потомки этого процесса.
... похоже последнее использовалось тем самым ...\denwer\scripts\lib\exe\apachesignal.exe
но для этого нужно передавать ему PID этого самого процесса.
PID вроде обычно лежит в .\logs\httpd.pid

С другими серверами обыно возможны другие способы, но с этим httpd.exe, мне удавалось только так его остановить.
... однако мне кажется убийство процессов это как-бы экстренное,
более "нормальный" способ это ручное закрытие окна этого httpd.exe или отправка ему Ctrl+C
... но запуск не как службы наверное не вполне "нормально" вообще

Добавлено через 37 минут
Цитата Сообщение от x_lab Посмотреть сообщение
убив сам процесс этого окна
хотя нет TerminateProcess() в этом apachesignal.exe
только ExitProcess() .... вероятно то-же но вид сбоку,) просто лень проверять и не помню где у меня завалялись отладчики
0
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 4
25.07.2020, 19:22  [ТС] 6
Цитата Сообщение от x_lab Посмотреть сообщение
Иконка может принадлежать или этому TrayApache.exe
Иконка в трее как раз от TrayApache.exe - по крайней мере, в моём Денвере.
Впрочем, я его переименовал просто в "WebServer" везде в окнах
Может, дело в этом? Хотя, я не думаю.

Цитата Сообщение от x_lab Посмотреть сообщение
но для этого нужно передавать ему PID этого самого процесса.
PID я ему передавал: я раскукожил apachesignal.exe и посмотрел что и как там. Но не взлетело
Что меня, собственно, до белого каления и доводит.

А хотите, я весь этот сервер упакую в архив и пришлю вам?

Добавлено через 1 час 57 минут
Локальный вебсервер, скачать с Яндех.Диска
0
867 / 598 / 275
Регистрация: 31.08.2019
Сообщений: 1,721
26.07.2020, 15:06 7
Это не совсем денвер ... или совсем не он
Интересная головоломка .) в CONFIGURATION.txt должно быть наверно
apache22_exe = TrayApache.exe
apache24_exe = TrayApache.exe

но есть реально непонятное:
Почему если из папки с обычным денвером, тем где вместо этой ./webinterface/ всё в ./denwer/
в командной строке запустить apachesignal.exe -p XXXX -k stop
то апач останавливается.
а если из этого комбайна с ./webinterface/ этот изменённый apachesignal.exe
(он другого размера, как и другое ), или даже если заменить его оригинальным,
то оно ведёт себя так как-будто ему не передаются параметры...

Цитата Сообщение от John Warner Посмотреть сообщение
не взлетело
Если честно, я даже не знаю, или не помню уже, работал-ли денвер без инсталяции, после простого перетаскивания.
Да и не хочется вникать что там модифицировано и для чего ... изменены структура каталогов ... exe-файлы ...

Добавлено через 56 минут
Для теста взял из оригинального денвера apachesignal.exe
положил в C:\Z
запустил вообще сторонний apache-2.4 сторонним лаунчером pid == 1704

Код
C:\Z>apachesignal.exe -p 1704 -k stop
Apache 2.2 for Win32 native signal sender.

Usage:
  apachesignal -p {pid} -k {stop|restart}

(C) Dmitry Koterov (dmitry@koterov.ru), 2008-01-27
(C) Denwer project: http://denwer.ru


C:\Z>cd c:\AMP\denwer\scripts\lib\exe\

c:\AMP\denwer\scripts\lib\exe>apachesignal.exe -p 1704 -k stop
Apache server shutdown initiated...
0
0 / 0 / 0
Регистрация: 09.07.2020
Сообщений: 4
27.07.2020, 09:44  [ТС] 8
Я только что проверил - при существующей папке denwer со всей требухой оно работает.
Есть идея натравить на apachesignal снифер от проги Advanced Uninstaller, который логирует движухи от программ-установщиков, и он мне выдаст все обращения и прочая.

Испытаю - отпишусь.

Кстати, вместо PID можно указывать путь к файлу с PID, проверено.

И да, ,Денвер фурычит без установки - надо только в конфиги пути прописать.

Добавлено через 11 минут
Не увидел снифер ничего. Видимо, дело в прописанных в файле путях.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2020, 09:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Настройка апача
привет форумчане! столкнулся с такой проблемой: апач возвращает ошибку 502 или 504... но смысл в...

Настройки апача
Всем добрый день. Недавно я начал работу над проектом, создал его на своем локалхосте, на денвере)...

Автоматический перезапуск апача
Помогите переделать условие. Нужно: Если процессов apache2 больше 100, то перезапуск апача ps...

Смена порта у апача
Всем здравствуйте, возникла проблема. Установил веб сервер WampServer2.2 Все работает...

Объясните работу апача
Вот интересно что, Хосты прописаны <VirtualHost *:80> ServerName laravel.local ...

Настройка апача и пхп
раньше были более старые версии сервака и пхп и все работало переустановил винду и решил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.