我已经注意到我的服务器正在发生新的事情,我无法弄清楚是什么让它发生。 我希望有人在这个问题上有经验,可以帮我find一个解决scheme,让它停止。
我今晚在我的ubuntu服务器上执行了重启,我已经在slicehost.com上运行了。 一切都运行良好,直到我开始Apache。 我得到以下错误。
*启动Web服务器apache2(98)地址已经在使用:make_sock:无法绑定到地址0.0.0.0:80没有可用的侦听套接字,closures无法打开日志…失败!
使用netstat -ltnp | grep ':80'进一步的研究 netstat -ltnp | grep ':80'将显示以下内容:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3948 / apache2
然后我可以kill 3948和Apache启动像正常。 PID 3948不断变化到不同的数字。
这是新的,而且自从我没有发生这种情况,我成功启动后,我所做的唯一的事情就是卸载phpmyadmin的手动安装,然后使用aptitude install命令重新安装它。 Phpmyadmin现在在服务器上运行良好,但我不明白这个错误意味着什么,或者我可以如何解决它。
任何人可能会提供一些见解将不胜感激!
更新:运行ls -la /etc/init.d/我得到以下输出。 @prix它看起来不像httpd在这个列表中。
total 308 drwxr-xr-x 2 root root 4096 2010-06-08 16:38 . drwxr-xr-x 73 root root 4096 2010-08-18 14:56 .. -rwxr-xr-x 1 root root 6464 2008-09-19 08:42 apache2 -rwxr-xr-x 1 root root 2231 2008-10-14 08:02 bootlogd -rwxr-xr-x 1 root root 1916 2008-10-14 08:02 bootmisc.sh -rwxr-xr-x 1 root root 3508 2008-10-14 08:02 checkfs.sh -rwxr-xr-x 1 root root 10507 2008-10-14 08:02 checkroot.sh -rwxr-xr-x 1 root root 7948 2008-09-25 04:12 console-screen.kbd.sh -rwxr-xr-x 1 root root 1670 2008-06-11 16:02 console-setup -rwxr-xr-x 1 root root 2653 2008-09-09 14:52 cron -rwxr-xr-x 1 root root 7195 2008-09-29 05:15 glibc.sh -rwxr-xr-x 1 root root 1329 2008-10-14 08:02 halt -rwxr-xr-x 1 root root 1287 2008-10-14 08:02 hostname.sh -rwxr-xr-x 1 root root 4528 2008-09-25 08:07 hwclockfirst.sh -rwxr-xr-x 1 root root 4521 2008-09-25 08:07 hwclock.sh -rwxr-xr-x 1 root root 1404 2008-06-11 16:02 keyboard-setup -rwxr-xr-x 1 root root 1484 2008-10-14 08:02 killprocs -rwxr-xr-x 1 root root 1818 2008-08-29 19:41 klogd -rwxr-xr-x 1 root root 748 2008-06-21 17:30 loopback -rwxr-xr-x 1 root root 1399 2008-10-14 10:51 module-init-tools -rwxr-xr-x 1 root root 620 2008-10-14 08:02 mountall-bootclean.sh -rwxr-xr-x 1 root root 1956 2008-10-14 08:02 mountall.sh -rwxr-xr-x 1 root root 1351 2008-10-14 08:02 mountdevsubfs.sh -rwxr-xr-x 1 root root 2296 2008-10-14 08:02 mountkernfs.sh -rwxr-xr-x 1 root root 618 2008-10-14 08:02 mountnfs-bootclean.sh -rwxr-xr-x 1 root root 2330 2008-10-14 08:02 mountnfs.sh -rwxr-xr-x 1 root root 1321 2008-10-14 08:02 mountoverflowtmp -rwxr-xr-x 1 root root 3668 2008-10-14 08:02 mtab.sh -rwxr-xr-x 1 root root 5755 2008-09-19 07:02 mysql -rwxr-xr-x 1 root root 2515 2008-09-19 07:02 mysql-ndb -rwxr-xr-x 1 root root 1905 2008-09-19 07:02 mysql-ndb-mgm -rwxr-xr-x 1 root root 2663 2008-06-23 09:21 networking -rwxr-xr-x 1 root root 1271 2008-10-27 06:17 procps -rwxr-xr-x 1 root root 9600 2008-10-14 08:02 rc -rwxr-xr-x 1 root root 788 2008-10-14 08:02 rc.local -rwxr-xr-x 1 root root 117 2008-10-14 08:02 rcS -rw-r--r-- 1 root root 1510 2008-10-14 08:02 README -rwxr-xr-x 1 root root 639 2008-10-14 08:02 reboot -rwxr-xr-x 1 root root 941 2008-10-14 08:02 rmnologin -rwxr-xr-x 1 root root 5200 2008-07-28 08:42 rsync -rwxr-xr-x 1 root root 33378 2008-05-20 02:27 sendmail -rwxr-xr-x 1 root root 2283 2008-10-14 08:02 sendsigs -rwxr-xr-x 1 root root 590 2008-10-14 08:02 single -rw-r--r-- 1 root root 4167 2008-10-14 08:02 skeleton -rwxr-xr-x 1 root root 3710 2008-10-13 13:52 ssh -rwxr-xr-x 1 root root 525 2008-10-14 08:02 stop-bootlogd -rwxr-xr-x 1 root root 1096 2008-10-14 08:02 stop-bootlogd-single -rwxr-xr-x 1 root root 3483 2008-08-29 19:41 sysklogd -rwxr-xr-x 1 root root 2488 2008-10-24 05:38 udev -rwxr-xr-x 1 root root 706 2008-10-24 05:38 udev-finish -rwxr-xr-x 1 root root 3627 2008-10-14 08:02 umountfs -rwxr-xr-x 1 root root 2140 2008-10-14 08:02 umountnfs.sh -rwxr-xr-x 1 root root 1456 2008-10-14 08:02 umountroot -rwxr-xr-x 1 root root 1815 2008-10-14 08:02 urandom -rwxrwxr-x 1 root root 1314 2010-03-04 19:22 webmin -rwxr-xr-x 1 root root 1777 2008-10-23 08:40 x11-common -rwxr-xr-x 1 root root 2154 2008-07-28 07:27 xinetd
那么创build一个开发服务器作为一个确切的副本来尝试新的东西,我想我已经想通了。 我将把我的过程放在下面,希望将来可以帮助别人。
我做的第一件事是将我的端口更改为不同的数字,以便我可以看到端口上还在运行着什么:80。
sudo nano /etc/apache2/ports.conf
我已经oringally:
Listen 80 Listen 443
所以我改变了他们:
Listen 88 Listen 443
这让我去看看我的端口上使用sudo netstat -lpAinet现在正在运行
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:448 *:* LISTEN 4183/apache2 tcp 0 0 localhost:mysql *:* LISTEN 3741/mysqld tcp 0 0 localhost:submission *:* LISTEN 3973/sendmail: MTA: tcp 0 0 *:www *:* LISTEN 4025/apache2 tcp 0 0 *:ssh *:* LISTEN 3651/sshd tcp 0 0 *:kerberos *:* LISTEN 4183/apache2 tcp 0 0 localhost:smtp *:* LISTEN 3973/sendmail: MTA: tcp 0 0 *:https *:* LISTEN 4025/apache2
如果您注意到PID 4025正在*:www和*:https上运行。 这是搞砸了整个事情的Apache实例。 所以做一个kill -9 {PID}将杀死该进程的好。 (老实说,不知道kill -9是干什么的,但是对我有用,有人可能想纠正一下,如果不是完全正确的话。
我的下一个输出是伟大的。 现在运行apache的一个实例。 sudo netstat -lpAinet
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:448 *:* LISTEN 4183/apache2 tcp 0 0 localhost:mysql *:* LISTEN 3741/mysqld tcp 0 0 localhost:submission *:* LISTEN 3973/sendmail: MTA: tcp 0 0 *:webmin *:* LISTEN 4233/perl tcp 0 0 *:ssh *:* LISTEN 3651/sshd tcp 0 0 *:kerberos *:* LISTEN 4183/apache2 tcp 0 0 localhost:smtp *:* LISTEN 3973/sendmail: MTA: udp 0 0 *:10000 *:* 4233/perl
现在,我已经find了问题,我改变了我的ports.conf sudo nano /etc/apache2/ports.conf回到原来的设置。
我简单的apache停止sudo /etc/init.d/apache2 stop并启动sudo /etc/init.d/apache2 start ,事情都很好。 对我来说,真正的考验就是重启服务器,看看它是否工作,像它suppossed。 像魅力一样工作。
从一篇文章中,我用RedHat阅读了这篇文章: http : //www.linuxquestions.org/questions/linux-software-2/98-address-already-in-use-make_sock-could-not-bind-to-address- 0-0-0-0-443-A-110753 /#post1153056
问题是因为:
这个问题是只有当你开始weberver和比做了一些修改或试图加载的jsp或asp支持比你会发现httplocking,当你试图重新启动它。
所以希望这会帮助我find同样的问题,但没有真正的解决scheme的其他人吨。 无论如何,它为我的情况工作。 顺便说一句 – 这也可能是因为我正在使用云服务器。 不确定。
如果你改变configuration,然后重新启动apache使用
service httpd restart
然后你会遇到这个问题,你将不得不杀死所有的httpd进程,并再次启动apache。
killall -9 httpd service httpd start
要阻止这种情况的发生,当你进行configuration更改时不要使用
service httpd restart
使用
service httpd reload
我已经testing了这一点,这已经解决了两个受影响的服务器上的问题。