Когда я закрываюсь, FTP-сервер понижается

Моей системой является Ubuntu 18.04, Apache2, PHP 7.2. У меня есть очень странная проблема, когда я получаю доступ к FTP от Winscp или Filezilla.

Проблема состоит в том после того, как я завершаю сеанс FTP и пытаюсь перейти к своему веб-сайту, я добрался, этот сайт не может быть достигнут. Я должен перезапустить Apache2, чтобы заставить веб-сайт работать снова.

Как я могу решить это?

Журналы Apache:

[Wed Aug 29 12:26:20.658550 2018] [core:warn] [pid 6112] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Aug 29 12:26:20.664959 2018] [mpm_prefork:notice] [pid 6112] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.0h configured -- resuming normal operations
[Wed Aug 29 12:26:20.665014 2018] [core:notice] [pid 6112] AH00094: Command line: '/usr/sbin/apache2'
[Wed Aug 29 12:27:27.563287 2018] [mpm_prefork:emerg] [pid 6121] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:27:27.566692 2018] [mpm_prefork:emerg] [pid 6120] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:27:27.571578 2018] [mpm_prefork:emerg] [pid 6125] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:27:27.573969 2018] [mpm_prefork:emerg] [pid 6129] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:27:27.577938 2018] [mpm_prefork:emerg] [pid 6128] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:27:27.744667 2018] [core:alert] [pid 6112] AH00050: Child 6120 returned a Fatal error... Apache is exiting!
[Wed Aug 29 12:27:27.744807 2018] [:emerg] [pid 6112] AH02818: MPM run failed, exiting
[Wed Aug 29 12:27:33.534483 2018] [core:warn] [pid 6425] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Aug 29 12:27:33.551045 2018] [mpm_prefork:notice] [pid 6425] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.0h configured -- resuming normal operations
[Wed Aug 29 12:27:33.551087 2018] [core:notice] [pid 6425] AH00094: Command line: '/usr/sbin/apache2'
[Wed Aug 29 12:33:23.273811 2018] [mpm_prefork:notice] [pid 6425] AH00169: caught SIGTERM, shutting down
[Wed Aug 29 12:33:23.463364 2018] [mpm_prefork:notice] [pid 6566] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.0h configured -- resuming normal operations
[Wed Aug 29 12:33:23.463471 2018] [core:notice] [pid 6566] AH00094: Command line: '/usr/sbin/apache2'
[Wed Aug 29 12:34:12.206500 2018] [mpm_prefork:emerg] [pid 6686] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:34:12.534263 2018] [core:alert] [pid 6566] AH00050: Child 6686 returned a Fatal error... Apache is exiting!
[Wed Aug 29 12:34:12.534321 2018] [:emerg] [pid 6566] AH02818: MPM run failed, exiting
[Wed Aug 29 12:34:12.536893 2018] [mpm_prefork:emerg] [pid 6689] (22)Invalid argument: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:34:12.539094 2018] [mpm_prefork:emerg] [pid 6688] (22)Invalid argument: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:36:21.687348 2018] [core:warn] [pid 9332] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Aug 29 12:36:21.709583 2018] [mpm_prefork:notice] [pid 9332] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.0h configured -- resuming normal operations
[Wed Aug 29 12:36:21.709650 2018] [core:notice] [pid 9332] AH00094: Command line: '/usr/sbin/apache2'
[Wed Aug 29 12:39:10.500747 2018] [mpm_prefork:emerg] [pid 9347] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:39:10.502052 2018] [mpm_prefork:emerg] [pid 9336] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:39:10.507276 2018] [mpm_prefork:emerg] [pid 9337] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:39:10.509953 2018] [mpm_prefork:emerg] [pid 9338] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:39:10.514020 2018] [mpm_prefork:emerg] [pid 9346] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:39:10.522017 2018] [mpm_prefork:emerg] [pid 9343] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Wed Aug 29 12:39:10.850698 2018] [core:alert] [pid 9332] AH00050: Child 9336 returned a Fatal error... Apache is exiting!
[Wed Aug 29 12:39:10.851450 2018] [:emerg] [pid 9332] AH02818: MPM run failed, exiting
[Wed Aug 29 12:39:19.905390 2018] [core:warn] [pid 9605] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Aug 29 12:39:19.924748 2018] [mpm_prefork:notice] [pid 9605] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.0h configured -- resuming normal operations
[Wed Aug 29 12:39:19.924789 2018] [core:notice] [pid 9605] AH00094: Command line: '/usr/sbin/apache2'
1
задан 2 September 2018 в 20:58

2 ответа

Я нашел решение, разрешение:

Соединитесь с использованием сервера SSH.Править /etc/apache2/apache2.conf установка файла:

Mutex posixsem

вместо Mutex file:${APACHE_LOCK_DIR} default

Апачский сервис перезапуска:

service apache2 restart
2
ответ дан 3 December 2019 в 06:51

Позвольте мне добавить немного к Вам, отвечает Fathey Abdel Slam. Отсюда:

Взаимное исключение является основным методом синхронизации, используемым в Транспортном Сервере для защиты данных из одновременного доступа несколькими потоками. Взаимное исключение действует как блокировка, которая защищает данные в одном потоке программы от того, чтобы быть полученным доступ другим потоком.

И от /etc/apache2/apache2.conf:

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the Mutex documentation (available
# at <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>);
# you will save yourself a lot of trouble.

Следующие взаимоисключающие механизмы доступны:

  • значение по умолчанию | да

    Это выбирает реализацию блокировки значения по умолчанию, как определено APR. Реализация блокировки значения по умолчанию может быть отображена путем выполнения httpd с-V опцией.

  • ни один | нет

    Это эффективно отключает взаимное исключение и только позволяется для взаимного исключения, если модуль указывает, что это - допустимый выбор. Консультируйтесь с документацией модуля для получения дополнительной информации.

  • posixsem

    Это - взаимоисключающий вариант на основе семафора Posix.

    Предупреждение

    Семафорное владение не восстанавливается если поток в процессе, содержащем взаимное исключение segfaults, приводя к подвешиванию веб-сервера.

  • sysvsem

    Это - взаимоисключающий вариант на основе семафора SystemV IPC. Предупреждение

    Возможно "пропустить" семафоры SysV, если процессы отказывают, прежде чем семафор удален. Безопасность

    Семафорный API допускает атаку "отказ в обслуживании" любым CGIs, работающим под тем же uid как веб-сервер (т.е. весь CGIs, если Вы не используете что-то как suexec или cgiwrapper).

  • sem

    Это выбирает "лучшую" доступную семафорную реализацию, выбирающую между Posix и SystemV IPC SystemV IPC semaphores, в том порядке.

  • pthread

    Это - взаимоисключающий вариант на основе межпроцессных взаимных исключений потока Posix. Предупреждение

    В большинстве систем, если дочерний процесс завершается неправильно при содержании взаимного исключения, которое использует эту реализацию, сервер заведет в тупик и прекратит отвечать на запросы. Когда это произойдет, сервер потребует, чтобы ручной перезапуск восстановился.

    Солярис и Linux являются существенными исключениями, поскольку они обеспечивают механизм, который обычно позволяет взаимному исключению быть восстановленным после того, как дочерний процесс завершается неправильно при содержании взаимного исключения.

    Если Вашей системой является совместимый POSIX или если это реализует pthread_mutexattr_setrobust_np () функция, Вы можете использовать pthread опцию безопасно.

  • fcntl:/path/to/mutex

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

    Когда несколько взаимных исключений на основе этого механизма используются в многопоточном, мультиобрабатывают среды, об ошибках мертвой блокировки (EDEADLK) можно сообщить для допустимых взаимоисключающих операций, если fcntl () не ориентирован на многопотоковое исполнение, такой как на Солярисе.

  • flock:/path/to/mutex

    Это подобно fcntl:/path/to/mutex методу за исключением того, что скопление () функция используется для обеспечения захвата файла.

  • file:/path/to/mutex

    Это выбирает "лучшую" доступную реализацию захвата файла, выбирающую между fcntl и скоплением, в том порядке.

Большинство механизмов только доступно на выбранных платформах, где базовая платформа и APR поддерживают его. Механизмы, которые не доступны на всех платформах, являются posixsem, sysvsem, sem, pthread, fcntl, скоплением и файлом.

С основанными на файле механизмами fcntl и скопление, путь, если обеспечено, является каталогом, где файл блокировки будет создан. Каталог по умолчанию является каталогом файла httpd во время выполнения относительно ServerRoot. Всегда используйте файловую систему локального диска для/path/to/mutex и никогда каталога, находящегося на NFS - или файловая система AFS.

basename из файла будет mutex type, дополнительная строка экземпляра, обеспеченная модулем, и если OmitPID keyword указан, идентификатор процесса httpd родительского процесса будет добавлен для создания имени файла уникальными, избегающими конфликтами, когда несколько httpd экземпляров совместно используют каталог файла блокировки.

Например, если взаимоисключающее имя, mpm-принимают, и каталог файла блокировки /var/httpd/locks, имя файла блокировки для httpd экземпляра с идентификатором 12345 родительского процесса было бы /var/httpd/locks/mpm-accept.12345.

Источник:

http://httpd.apache.org/docs/2.4/mod/core.html#mutex

https://docs.trafficserver.apache.org/en/4.2.x/sdk/mutex-guide.en.html

2
ответ дан 3 December 2019 в 06:51

Другие вопросы по тегам:

Похожие вопросы: