1:本来apache是可以正常启动的!我cd /usr/local/apache2/bin,执行命令dos2unix *结果造成apache没法启动
出错信息如下:
[root@www ~]# /usr/local/apache2/bin/apachectl start
/usr/local/apache2/bin/apachectl: line 78: 4640 Segmentation fault $HTTPD -k $ARGV
在网上也没找到解决方法!
自己想了个解决方法:
当时的场景是A机器出现这种情况,我在B机器上还有一个apache(安装目录为/usr/local/apache2和A机器的安装目录一样,版本是不一样的)
于是我登录B机器,scp /usr/local/apache2/bin/apachectl A:/usr/local/apache2/bin结果,在A机器上启动时,还是出现上面的信息(A机器上的httpd服务启动不了)
因为apachectl调用的是httpd,我猜想是不是将httpd复制过去就可以了。
于是执行scp scp /usr/local/apache2/bin/httpd A:/usr/local/apache2/bin
然后在A机器上就可以启动apache。
问题解决,歪打正着!
这种用文件覆盖的方式必须是两个apache的安装目录相同,而且最好版本大概相同(例如:都是apache2.2×的),否则需要修改apachectl文件,这个是个脚本文件,很容易看懂!
总结:运行dosu2unix * ,当时感觉应该不会有问题,结果却造成apache不能启动!
bin目录下重要的两个是apachectl和httpd
[root@www bin]# file apachectl httpd
apachectl: Bourne shell script text executable
httpd: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
[root@www bin]#
显然这两个文件不同,如上面的输出!
阅读(1497) | 评论(0) | 转发(0) |