有人可以给我一些建议吗?
我使用 Webmin 在 Debian 服务器上运行更新。在更新一些 apache2 等之后,它显示更新失败。
之后我无法启动 apache2。我必须运行
netstat -ltnp | grep ':80'
然后
kill -9 1047
现在我可以启动 apache2 了。
更新后第一次启动时,一些 fastCGI 网站无法运行。我必须在 ISPconfig3 中将它们更改为 mod-PHP,现在就可以运行了。
现在,如果不 kill pid,我甚至无法重新启动 apache。
在 ISP 日志中我看到了以下内容:
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'
但在出现这个问题之前它就已经存在了。
答案1
为了澄清一些观点,
- 不要使用它
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
。
答案2
您给出的错误...
[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 或改为使用非 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.