最近,对网站完整性进行评估时,发现生产机现有的Apache存在一些漏洞需要修补。前两天,开始着手进行修补,考虑之后,还是觉得重新安装新版Apache比较稳妥,一方面把版本更新到我们需要的版本,另一方面,可以保留原版本,万一升级后出现问题,可以快速地恢复。
原版本是2.0.59,我们的目标是升级到2.2.10,没有别的原因,2.2.10是Sun官方的最新版本,呵呵。
安装过程就不必多说了,无非是 ./configuration ,make,make install。安装好之后,在apache安装目录下建了一个cache目录作为磁盘缓存的目录。在httpd.conf文件中增加了配置项来启用缓存功能:
<IfModule mod_cache.c>
CacheDefaultExpire 3600
CacheMaxExpire 86400
CacheLastModifiedFactor 0.1
<IfModule mod_disk_cache.c>
CacheRoot /usr/local/apache2.2.10/cache
CacheMaxFileSize 10000000
CacheMinFileSize 1
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3
</IfModule>
#<IfModule mod_mem_cache>
# CacheEnable mem /
# MCacheSize 4096
# MCacheMaxObjectCount 100
# MCacheMinObjectSize 1
# MCacheMaxObjectSize 2048
#</IfModule>
</IfModule>
按照文档(官方和非官方)说明,前面的配置无误的话,启动Apache就应该能实现缓存功能了。
满心欢喜地敲入 bin/apachectl start ,启动没有报错,看来有戏。
先进入cache目录看看,有没有跟预想的一样有缓存文件产生.....咦!啥也没有啊,难道缓存没有生效吗?再看看日志:tail -f logs/error_4.log,发现日志有如下内容:
[Wed Nov 12 16:02:32 2008] [debug] mod_cache.c(131): Adding CACHE_SAVE filter for /content/9162.shtml
[Wed Nov 12 16:02:32 2008] [debug] mod_cache.c(138): Adding CACHE_REMOVE_URL filter for /content/9162.shtml
[Wed Nov 12 16:02:32 2008] [debug] mod_cache.c(639): cache: Caching url: /content/9162.shtml
[Wed Nov 12 16:02:32 2008] [debug] mod_cache.c(645): cache: Removing CACHE_REMOVE_URL filter.
看样子,缓存应该生效了呀,怎么在cache目录下没有文件生成呢?想既然日志中已有缓存日志,缓存应该生效了,就这样就可以了。后来想想还是不踏实,再找找原因。
再仔细看看日志,发现下面还有这样的内容:
[Wed Nov 12 16:02:32 2008] [debug] mod_cache.c(830): (13)Permission denied: cache: store_headers failed
原来是这里的鬼,缓存目录没有权限,把缓存目录先授权再说:
chmod -R 777 cahce
再看目录属性,已经由原来的:
drwxr-xr-x 2 root other 512 Nov 12 14:53 cache
变成
drwxrwxrwx 934 root root 11776 Nov 13 10:45 cache
再重启apache,没有报错,查看日志, (13)Permission denied: cache: 也不再报,进入cache目录,有文件生成!
OK,这样才算大功告成。
感触:
有句话:世上最怕就是认真两个字。 这话一点不假,如果半途就马虎应付,问题就得不到解决;稍微认真仔细了一点,问题就迎刃而解了。
分享到:
- 2008-11-13 10:53
- 浏览 1874
- 评论(0)
- 论坛回复 / 浏览 (0 / 2167)
- 查看更多
相关推荐
通过以上步骤,可以有效解决 SQL Plus 在尝试加载 `libclntsh.so.11.1` 时出现的“Permission denied”错误。如果问题仍然存在,建议进一步检查 Oracle 客户端和服务器端的配置,确保版本兼容且正确安装。
在使用手机时,有时我们可能会遇到“权限被拒绝”(Permission Denied)的问题,尤其是在尝试图案解锁时。这通常是由于安全设置、系统权限或第三方应用程序冲突导致的。以下是一些详细的解决策略: 1. **检查安全...
出现这种问题, ①首先检查用户对应的角色名,然后看路径设置是否正确,有没有相关的权限,如果这些都没问题,然后就尝试下面的操作: ②重起FTP服务,最好从服务里面重启(不能根本解决); ③重新设置Server-U帐号和...
本篇解决方法中,提到的“Permission denied”问题发生在尝试连接到UNIX socket文件“/root/jianshuvue/jianshu.sock”时。UNIX socket是一种在UNIX系统中用于进程间通信的机制,Nginx通过这种方式与后端的uWSGI应用...
Permission Denied(解决方案).md
首先我要解释一下,很多时候出现这个问题,并不是你的文件有毛病,很可能是你代码读取的路径不对,这就要追究到代码本身。批量转化可以在json_to_dataset文件里直接运行代码实现。这个思路还要感谢我的一个师兄。...
然而,服务器在运行过程中可能会遇到各种权限问题,550 Permission denied是其中一种常见的错误提示,它意味着服务器拒绝了用户的请求,通常是因为没有足够的权限去执行操作。 首先,我们来分析一下问题现象。用户...
### Apache启动错误Permission denied: httpd: could not open error log file解决方法 #### 系统环境 - **操作系统**: CentOS 6.3 (x64) - **Apache版本**: httpd-2.2.15-30.el6.centos.x86_64 - **安装方式**: ...
NULL 博文链接:https://lanxing.iteye.com/blog/264088
Delphi ftp 报Permission denied 问题.txt.Delphi ftp 报Permission denied 问题.txt
Permission denied: 出现的原因的是:没有权限进行读、写、创建文件、删除文件等操作。 解决方法:输入命令 sudo chmod -R 777 /工作目录, 例如:sudo chmode -R 777 /home/HDD,此时就可以在该路径下进行一系列...
在遇到`Permission denied`和`Connection refused`错误时,首先分析错误日志,然后根据错误信息针对性地检查和调整权限、配置和服务状态。同时,保持良好的日志记录习惯和定期的系统维护可以帮助预防此类问题的发生...
git clone 出现Permission Denied (publickey)问题,大多数博主建议大家加入公钥,不过加入公钥以后还是有问题。我自己出现的问题有两个: 1、sign_and_send_pubkey: signing failed: agent refused operation 2、...