Назад | Перейти на главную страницу

Ошибка перезапуска Debian apache2 после некоторых обновлений

Кто-нибудь может дать мне совет по этому поводу, пожалуйста?

Я запускаю обновление на своем сервере debian с помощью Webmin. После обновления некоторых apache2 и т.д. он показывает сбой обновления.

После этого я не могу запустить apache2. Я должен бежать

netstat -ltnp | grep ':80'

затем

kill -9 1047

и теперь я могу запустить apache2.

Когда я запустил его в первый раз после обновления, некоторые веб-сайты на fastCGI не работали. Я должен изменить их в ISPconfig3 на mod-PHP, и теперь работает.

Теперь я даже не могу перезапустить apache без kill pid.

В логе провайдера я вижу это:

Unable to open logs
(98)Address already in use: make_sock: could not bind to address [::]:80   
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
 no listening sockets available, shutting down

В журнале какого-то сайта я вижу это:

[emerg] (13)Permission denied: mod_fcgid: can´t lock process table in pid 19264

Как вы думаете, решением будет все обновить:

apt-get update

и

apt-get upgrade

завершить все обновления? Я немного напуган, если я это сделаю, тогда возникнут следующие ошибки.


Если я смотрю журнал apache, я вижу следующую ошибку:

Debian Python version mismatch, expected '2.6.5+', found '2.6.6'

Но это было раньше, чем проблема.

Ошибка, которую вы даете ...

[emerg] (13)Permission denied: mod_fcgid: can´t lock process table in pid 

... покрывается этой ошибкой apache, в которой говорится, что это связано с несовместимостью между некоторыми версиями mpm-itk и mod_fcgid.

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

https://issues.apache.org/bugzilla/show_bug.cgi?id=55350

Ошибка еще не исправлена, поэтому текущие решения переключаются на mpm-prefork или переходят на использование non-fastcgi. Чтобы PHP переключился на использование mod-php.

В системе Debian / Ubuntu вы можете переключиться на mpm-prefork, просто запустив

apt-get remove apache2-mpm-itk

Debian переключается на себя:

root@vps1:/var/lib/apache2/fcgid# apt-get remove apache2-mpm-itk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  apache2-mpm-prefork
The following packages will be REMOVED:
  apache2-mpm-itk
The following NEW packages will be installed:
  apache2-mpm-prefork
0 upgraded, 1 newly installed, 1 to remove and 109 not upgraded.
Need to get 2,358 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? 
Get:1 http://ftp.debian.org/debian/ wheezy/main apache2-mpm-prefork amd64 2.2.22-13+deb7u2 [2,358 B]
Fetched 2,358 B in 0s (7,481 B/s)                
dpkg: apache2-mpm-itk: dependency problems, but removing anyway as you requested:
 libapache2-mod-php5 depends on apache2-mpm-prefork (>> 2.0.52) | apache2-mpm-itk; however:
  Package apache2-mpm-prefork is not installed.
  Package apache2-mpm-itk is to be removed.
 apache2 depends on apache2-mpm-worker (= 2.2.22-13+deb7u2) | apache2-mpm-prefork (= 2.2.22-13+deb7u2) | apache2-mpm-event (= 2.2.22-13+deb7u2) | apache2-mpm-itk (= 2.2.22-13+deb7u2); however:
  Package apache2-mpm-worker is not installed.
  Package apache2-mpm-prefork is not installed.
  Package apache2-mpm-event is not installed.
  Package apache2-mpm-itk is to be removed.

(Reading database ... 48579 files and directories currently installed.)
Removing apache2-mpm-itk ...
[ ok ] Stopping web server: apache2 ... waiting .
Selecting previously unselected package apache2-mpm-prefork.
(Reading database ... 48583 files and directories currently installed.)
Unpacking apache2-mpm-prefork (from .../apache2-mpm-prefork_2.2.22-13+deb7u2_amd64.deb) ...
Setting up apache2-mpm-prefork (2.2.22-13+deb7u2) ...
[ ok ] Starting web server: apache2.

Чтобы прояснить некоторые моменты,

  • Не использовать kill -9 чтобы остановить процесс, если у вас действительно нет другого выбора, например, если он вообще не отвечает. Это может вызвать потерю / повреждение данных. Вместо этого вы можете использовать скрипт /etc/init.d/apache2 для вашего случая
  • Делать apt-get update и apt-upgrade предоставит вам доступные исправления и обновления от debian, которые в основном представляют собой исправления ошибок и исправления безопасности.

В unable to open logs ошибка может указывать на проблему с разрешением. Проверьте права доступа к файлам журнала и запустите apache с помощью sudo.

В could not bind to address ошибка указывает, что порт уже зарезервирован для другого процесса. Вы можете проверить, используя netstat -lnp.