好了,安装成功,下面让我们来看下apache http是否能够正确运行,命令:
sudo /usr/local/apache2/bin/apachectl -k start
Oh,cheers:出错了(如果你成功启动了,那么恭喜了),错误内容如下:
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
先看第二个错误,80端口被占用,在Firefox里面运行http://localhost/,显示内容it works,难道是apache httpd已经被启动,赶紧运行
netstat -anp | grep :80
看下是什么东西占用了80端口,结果:
tcp6 0 0 :::80 :::* LISTEN 5712/apache2
果然apache2已经在运行了,那么先杀掉它吧,运行命令
sudo kill -9 5712
其中这里的5712与上面的 LISTEN 5712/apache2里面的5712要对应,5712是进程的PID
再次运行:
netstat -anp | grep :80
什么?又出现了:
tcp6 0 0 :::80 :::* LISTEN 5715/apache2
打开系统-->系统管理-->服务,看下 Web服务 apache2开着,想必是这个开着的原因,才导致apache2的进程杀也杀不掉,点击解锁,输入密码,将Web服务apache2的那个勾勾去掉吧,再次查看
netstat -anp | grep :80
杀掉该进程,然后再运行
netstat -anp | grep :80
结果如下:
warning, got bogus unix line.
终于将系统原来的apache2杀掉了。
现在再运行下:
sudo /usr/local/apache2/bin/apachectl -k start
只有下面的错误了:
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
事实上这个错误并不妨碍这个作业的完成,如果你对以下内容不感兴趣,那么请跳过直接到第八步
运行命令:
sudo gedit /usr/local/apache2/conf/httpd.conf
配置配置文件:
找到
#ServerName www.exapmle.com:80
这一行,替换为
ServerName localhost:80
运行
sudo /usr/local/apache2/bin/apachectl -k stop把apache2关闭
再次运行
sudo /usr/local/apache2/bin/apachectl -k start
这次没有任何输出 :
打开Firefox在地址栏输入:http://localhost/
显示it works!
恭喜~~~,到现在为止,apache httpd已经可以正确启动了。