Linux下apache启动失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下apache启动失败相关的知识,希望对你有一定的参考价值。
我的是在fedora8里安装的httpd-2.2.17.配置时命令如下:
./configure \
--prefix=/usr/local/apache2 \
--sysconfdir=/etc/httpd \
--with-z=/usr/local/zlib/ \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-static-support
编译和安装过程中都没有报错,但安装完我启动时,显示如下信息:
httpd: Syntax error on line 54 of /etc/httpd/httpd.conf: Cannot load /usr/local/apache2/modules/mod_deflate.so into server: /usr/local/apache2/modules/mod_deflate.so: cannot restore segment prot after reloc: Permission denied
本人刚开始学组建LAMP服务器,请问大虾们这应该怎么处理呀?谢谢!
我是以root身份来安装apache的,root用户对httpd.conf的拥有的权限是644.这个文件里54-56行的内容是:
54 LoadModule deflate_modules modules/mod_deflate.so
55 LoadModule expries_modules modules/mod_expires.so
56 LoadModule rewrite_modules modules/mod_rewrite.so
/etc/httpd/httpd.conf 文件54行 有语法错误
将54行 发过来
/usr/local/apache2/modules/mod_deflate.so: cannot restore segment prot after reloc: Permission denied
没有权限
你可以编译的时候先将 ---enable-deflate=shared 去掉 再试试
我这没有linux机器。无法还原你的状况 参考技术C 1关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache2/modules/mod_deflate.so
# service httpd restart
# setenforce 1 参考技术D selinux权限问题,看下/var/log/audit/下的日志文件 第5个回答 2010-12-10 错误提示已经指明了错误原因,但是我不知道怎么弄,嘿嘿,我才初学linux,坐等答案
更换存放目录后apache启动失败
启动工具用的是phpStudy,在C盘用的没有问题,想把phpStudy换到D盘(C为系统盘,出现故障后无法恢复),原C盘phpStudy文件夹重命名phpStudy-bak,最后在D盘中启动apache和mysql,mysql启动正常,但apache启动失败。
回到C盘phpStudy下,卸载apache服务和mysql服务;再次回到D盘启动apache,还是启动失败。在“服务”中确定是"D:phpStudyApacheinhttpd.exe" -k runservice ,没有错。
打开CMD,执行D:phpStudyApacheinhttpd.exe -t,提示httpd.conf文件223行出现错误。打开httpd.conf 223行发现盘符填写错误,DocumentRoot "C:phpStudyWWW",需要手动修改为DocumentRoot "D:phpStudyWWW"。
再次重启apache启动成功,网站可以打开了。
以上是关于Linux下apache启动失败的主要内容,如果未能解决你的问题,请参考以下文章