Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Апач 2.4 - косяк с размножением

Апач 2.4 - косяк с размножением
Я
   NegroNegro
 
02.03.21 - 13:27
Уважаемые участники, прошу помощи.

Вероятно, руки кривые и по сему - траблы.

Хотел для обслуги файловой базы запустить несколько экземпляров апача 2.4 под 2012-м серваком.
Не гут ведь строить клиентов в очередь к однопоточной компоненте, - лучше запустить сразу несколько копий апача на разных портах. Да?

Скачал с apachehaus.com архив 2.4-го, распаковал в две разные папки, подправил в каждой в конфиге имя сервера и порт на listen:

Define SRVROOT "/Apache241"
Listen 8001

Define SRVROOT "/Apache242"
Listen 8002

Закинул в сервисы:

httpd.exe -k install -n "apache1" -f "C:\Apache241\conf\httpd.conf"
httpd.exe -k install -n "apache2" -f "C:\Apache242\conf\httpd.conf"

В сервисах-то они оба видны, но запускается за раз лишь любой один. Второй дает ошибку завершения с кодом 1.

Подскажите, плиз, где косяк, или что в принципе упустил (впервые курю)...
А может, это фича 2.4-го, и теперь вообще нельзя несколько экземпляров запустить?


---------------------------------
- на оф.сайте нашел вот что (https://httpd.apache.org/docs/2.4/platform/windows.html):

Because Apache for Windows is multithreaded, it does not use a separate process for each request, as Apache can on Unix. Instead there are usually only two Apache processes running: a parent process, and a child which handles the requests. Within the child process each request is handled by a separate thread.

.....

Warning: The server configuration file is reread when a new child process is started. If you have modified httpd.conf, the new child may not start or you may receive unexpected results.

ThreadsPerChild: This directive is new. It tells the server how many threads it should use. This is the maximum number of connections the server can handle at once, so be sure to set this number high enough for your site if you get a lot of hits. The recommended default is ThreadsPerChild 150, but this must be adjusted to reflect the greatest anticipated number of simultaneous connections to accept.
   NegroNegro
 
1 - 02.03.21 - 14:43
Некоторое уточнение
Сделал старт из командной строки и получил такое:
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_socd: could not bind to address [::]:443
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_socd: could not bind to address 0.0.0.0:443
   NegroNegro
 
2 - 02.03.21 - 14:51
Полазил по конфигам и в паре файлов кое что нашел

В httpd-ssl.conf -

Define SSL_PORT 443


В httpd-ahssl.conf -

Listen 443 https

<VirtualHost _default_:443>
  SSLEngine on
  ServerName localhost:443
  SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
  SSLCertificateKeyFile "${SRVROOT}/conf/ssl/server.key"
  DocumentRoot "${SRVROOT}/htdocs"
# DocumentRoot access handled globally in httpd.conf
    CustomLog "${SRVROOT}/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    <Directory "${SRVROOT}/htdocs">
        Options Indexes Includes FollowSymLinks
        AllowOverride AuthConfig Limit FileInfo
    Require all granted
    </Directory>
</virtualhost>
   ДедМорроз
 
3 - 02.03.21 - 14:52
У тебя порт 443 для шифрованного соединения один и тот же на нескольких apache вот они за него и подрались.
   NegroNegro
 
4 - 02.03.21 - 14:53
Именно!
И я сейчас его заменил на 8003 во втором экземпляре.
И 2.4 стартанул
   NegroNegro
 
5 - 02.03.21 - 14:54
Вопрос лишь, - не стремно ли менять порт шифрования...
   Garykom
 
6 - 02.03.21 - 15:25
(5) не стремно а нужно! ну или отруби его совсем
   Garykom
 
7 - 02.03.21 - 15:26
Кста ssl может быть на любом порту, это просто умолчания что без ssl|http на 80 а с ssl|https на 443
   NegroNegro
 
8 - 02.03.21 - 15:49
(6) Так и поступил. Продолжаю танцы с бубном) Перешел к публикации базы. Чувствую, еще сюрпризы на подходе
   ДедМорроз
 
9 - 02.03.21 - 15:50
Что-то мне подсказывает,что можно в одного индейца одну и ту же базу в разные каталоги опубликовать.
   NegroNegro
 
10 - 02.03.21 - 16:00
(9) Ну я так и делаю. Скопировал уже полностью с публикацией апач, только в конфигах изменил порт, имя сервера и порт шифрования. Запустил два экземпляра (четыре пера в процессах - дочерний процесс у каждого) и сейчас предвкушаю облом какой-нибудь
   NegroNegro
 
11 - 02.03.21 - 16:03
(9)/(10) Нет, смотри-ка... Шуршит. Оба пера наполнились...
   Garykom
 
12 - 02.03.21 - 16:05
(9) плагин/модуль один будет и в один поток - нет смысла
   Garykom
 
13 - 02.03.21 - 16:07
(11) Сделай доброе дело наваяй на 1С инсталлятор апача в много потоков ))

Я когда то начал писать (начиная со скачивания последней версии с https://www.apachelounge.com/download/)но забросил
Выложить на ИС и срубить немного $m
   Garykom
 
14 - 02.03.21 - 16:08
(13)+ В смысле внешняя обработка для 1С, которая сама апач скачает, распакует, конфиги пропишет и базу выбранную опубликует
   NegroNegro
 
15 - 02.03.21 - 16:10
(12) Один экземпляр модуля в памяти? И его нельзя размножить?
Зачем же тогда все шаманство?
   Garykom
 
16 - 02.03.21 - 16:19
(15) это если несколько публикаций на одном апаче
вот когда по одной публикации на нескольких апачах все ок
   Garykom
 
17 - 02.03.21 - 16:22
LoadModule _1cws_module "C:\Program Files\1cv83\8.3.8.2054\bin\wsap24.dll"
Фишка что если умудриться чтобы разные/несколько dll в один апач то все ок будет

Но я хз можно ли тупо dll задублить, прописать нескоко раз в конфиг одного апача
   NegroNegro
 
18 - 02.03.21 - 16:22
По факту замышляется несколько публикаций на нескольких апачах. NxN. Т.е. апачей нужно по числу пользователей. Тут действительно какой-нибудь визард бы не повредил, ты хорошее дело задумал.
   NegroNegro
 
19 - 02.03.21 - 16:25
(17) Так глубоко мысль боится лезть). Главное, что каждый экземпляр апача грузит свой плагин и он лезет в базу как обычный юзер. Вот если тут стабильность гарантирована, то зашебись.
   Garykom
 
20 - 02.03.21 - 16:26
(17) ну теоретически можно взять мануал https://habr.com/ru/post/50909/
далее написать свою обертку "wsap24.dll" которая будет юзать несколько родных wsap24.dll
   NegroNegro
 
21 - 02.03.21 - 16:57
Да, еще нюанс (если верно воспринял). Вот так нельзя

httpd.exe -k install -n "apache1" -f "C:\Apache241\conf\httpd.conf"

Нужно (для первого экземпляра апача, где будут созданы все публикации) исключительно так:

httpd.exe -k install -n "Apache 2.4" -f "C:\Apache241\conf\httpd.conf"

Ибо 1с ищет апач в списке сервисов по имени и если не находит, то не выдает в публикаторе вообще апачевскую опцию.
Дальше уже можно копировать папки, меняя порты, имена сервера и еще доп.вхождения папок в конфигах. А VRD, вроде бы, можно тупо размножить. И сертификаты.
   Garykom
 
22 - 02.03.21 - 17:22
(21) таки публикацию можно вручную
   NegroNegro
 
23 - 02.03.21 - 17:51
(22) Чем лучше, тем проще.

Для себя описал весь процесс так (поправь, если где ошибки или забыл):

1. Распаковываем апач в папку apache241 (пускай так).
и в ней:
2. - генерим сертификат и прописываем в конфиг ссл.
3. - меняем в конфиге порты - 80 на 8001, 443 на 80N1 и сервер на apache241
4. - стартуем сервис (с именем"Apache 2.4"/дефолтно)
5. - делаем все нужные публикации
6. Размножаем папку, автозаменяя на 800i, 80Ni apache24i в конфигах.
7. Ну и батники делаем для установки, старта, стопорения по типу
httpd.exe -k install -n "Apache 2.4" -f "C:\Apache241\conf\httpd.conf"
{httpd.exe -k install -n "Apache 2.4i" -f "C:\Apache24i\conf\httpd.conf"}

Все, вроде.
Пусть будет памятка...
   NegroNegro
 
24 - 02.03.21 - 17:54
С портами "регуляризация" для удобства, если скрипт писать...
   Garykom
 
25 - 02.03.21 - 18:00
(23) вроде бы копировать сам апач целиком не треба
достаточно конфиг
   NegroNegro
 
26 - 02.03.21 - 18:01
(25) Безусловно. Но поскольку он небольшой весьма, мне лично удобно просто отдельные как бы полностью автономные папки держать.
   Йохохо
 
27 - 02.03.21 - 18:33
(23) откуда предубеждение что имя должно быть коротким в угоду читаемости? + я за с: сразу метко кидаю ссаным тапком + нотепад++ так чудесно меняет всё в пачке ххх.конф + при публикации есть кнопка сохранить, используя опубликовать вы просто боитесь отбросить убогий костыль
   NegroNegro
 
28 - 02.03.21 - 18:48
(27) Какое имя?)
   Aleksey
 
29 - 02.03.21 - 19:17
А что это уже не работает? http://catalog.mista.ru/public/239498/
   NegroNegro
 
30 - 02.03.21 - 19:24
Не знаю). Вполне возможно, что работает. Хотя, вот, опять же -2.4, ssl - когда это появилось - неведомо, сколько ни гуглил, все только про обычный listen пишут. Желательно же понимать, что и как, чтобы без сторонних инструментов быстро можно было сделать.
 
 Рекламное место пустует


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.