问题:服务器挂起,或者不能启动,错误日志里面出现"fcntl: F_SETLKW: No record locks available"或者类似的信息。
这个是文件锁定问题,表示Apache服务器在尝试使用一个NFS文件系统上面的同步文件。由于使用并行操作模式,Apache服务器在访问某些特定资源的时候需要一些同步机制。其中一种同步机制就是文件锁定,这个需要被锁定文件那端的文件系统要支持锁定机制,所以使用NFS文件系统上面的文件会出现这种问题。
解决:为了解决NFS文件系统的局限性,可以在配置文件里面加入一行:
LockFile /var/run/apache-lock
这个文件对其他人必须是不能写入的。
注意:Redhat linux7.x版本以后已经提供了NFS锁定机制,应该不会出现此问题。