centos linux中httpd出现死锁问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos linux中httpd出现死锁问题相关的知识,希望对你有一定的参考价值。

[root@localhost ~]# service httpd status
httpd dead but subsys locked
网上百度各种解决办法未果,求大神看一下
apache httpd版本:
httpd.x86_64 2.2.15-53.el6.centos

我也遇到过同样的问题。只不过我是编译安装的httpd2.4,而且问题也并非总是出现,有时候编译ok,有时候编译后就是有这种问题,尽管配置文件和服务管理脚本可以说是完全相同的。我发现不管PidFile怎样设置,始终在安装前缀目录下的logs目录(PidFile指令的默认值)中创建pid文件。把服务管理脚本的pidfile改为/usr/local/apache24/logs/httpd.pid,而主配置文件中不指定PidFile指令,就OK了。至于为什么有的编译有这样的情况,而有的却没有,我也搞不懂。
补充:原因查明了,对于httpd2.4,使用Include包含了extra中的httpd-mpms.conf配置文件,PidFile属于Mpm模块中的指令。对于pidfile的设置如果在最下面取消注释了包含httpd-mpm.conf文件的那个Include指令,就必须到httpd-mpm.conf中修改PidFile指令的值,否则在主配置文件中没用,会被httpd-mpm.conf中的PidFile覆盖掉。如果是使用httpd2.2版本的软件的话,也无非就是PidFile指令的生效问题,大家好好查查。
参考技术A 估计是你的httpd 启动服务有问题。建议重新yum install httpd,然后chkconfig一下。进不了系统的话,你网上搜一下如何进入单用户模式。关于httpd服务,请参考书籍《Linux就该这么学》追问

已经重装过一遍了

参考技术B 先停掉 : service httpd stop
不行的话把ps -ef|grep httpd,然后把进程杀掉
进程不存在,就把 /var/lock/subsys/httpd 文件删掉追问

这个方法早就试过了,卸了重装,还是不行

本回答被提问者和网友采纳

Linux中centos中httpd源码安装过程详解

在Linux中软件安装有两大类,一类是软件包安装,一类是源代码安装。软件包安装就是指将编译好的二进制封装成rpm包,可以直接使用rpm工具和yum工具安装。源代码安装是指没有编译成二进制,需要通过手动编译的。使用源代码安装的原因有两个,一个就是想使用最新版的软件,另一类就是想自定义其功能的。

在httpd的源码安装过程中需要用到:APR、APR-UTIL、 PCRE、httpd
源码安装过程:
1、展开压缩文件,把压缩文件解压缩到/usr/local/src。
2、在解压文件目录使用 ./configure选项来编译环境。
3、对产生的Makefile文件使用make进行编译make install安装。

一、对于centos中没有安装gcc、gcc-c++的虚拟机,需要先yum install gcc gcc-c++。在浏览器中找到apr、apr-util、pcre、httpd(切记pcre要装8版本的)的下载源,在通过wget IP地址,对这些包进行下载。下载完成后解压到/usr/local/src下。
二、《1》进入解压后的/usr/local/src/apr1.7.0(1.7.0是我所下载的apr的版本编号)中对其进行编译和安装。
cd /usr/local/src/apr1.7.0
./configure --prefix=/usr/local/apr
make
make install(注:如果在make或make install过程中报错,要先进行make clean,对之前安装的进行清理)
《2》进入到解压后的/usr/local/apr -util1.6.1中进行编译和安装(其中1.6.1是我所下载的apr -util版本号),因为apr -util的安装依赖于apr,所以
cd /usr/local/src/apr -util1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
《3》进入解压到的/usr/local/pcre-8.43中进行编译和安装
cd /usr/local/src/pcre-8.43
./configure --prefix=/usr/local/pcre
make
make install
《4》进入解压到的/usr/local/htppd中进行编译和安装,由于httpd的安装依赖于apr、apr-util、pcre,所以
cd /usr/local/src/httpd
./configure --prefix=/usr/local/apache24 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make
make install
三、启动httpd服务
cd /usr/local/apache24/bin
./apachectl start
但执行./apachectl start时,会出现下图所显示情况
技术图片
表示使用localhost.localdomain无法可靠地确定服务器的完全限定域名。全局设置‘ServerName‘指令来禁止此消息
若发生上图结果,可:cd /usr/local/apache24/conf vim httpd.conf
技术图片
把前面的#号去掉,就可以了

以上是关于centos linux中httpd出现死锁问题的主要内容,如果未能解决你的问题,请参考以下文章

Linux中centos中httpd源码安装过程详解

Linux centos 下apache(httpd)编译安装

Linux CentOS 7 - 通过 .htaccess 配置 httpd.conf 文件

Linux下安装配置启动Apache

Linux centos PXE无人值守安装 DHCP+TFTP+HTTPD+Kickstart

Centos 下Apache(httpd) 安装过程