寻觅生命中的那一片浅草......

文章带标签 Apache

Awstats注意问题

很久以前把Apache的日志下载回来用awstats分析,先分析前天的日志,然后分析昨天的,

执行以下命令:

C:\Program Files\AWStats\wwwroot\cgi-bin>awstats.pl -config=localhost

刷新浏览器页面,发现还是前天的数据

经过一番查找,发现

C:\Program Files\AWStats\wwwroot\cgi-bin>awstats.pl -config=localhost

当运行此命令后,命令会生成一个txt文件,C:\Program Files\AWStats\wwwroot\cgi-bin\awstats112008.localhost.txt
如果修改了access_log,需要先删除该awstats112008.localhost.txt(如果需要保留,则将其改名),再运行awstats.pl -config=localhost,这样,通过浏览器才能查看最新的日志

以上说法未必对,有待求证,有可能是awstats只允许按月来分析,而不允许整年地分析,才会导致无法update,试下加全年参数?

另外,要修改awstats.pl里perl命令的路径,因为它默认是类nix的路径,所以要把它修改为Windows下perl的安装路径

当然也用awstats来分析maillog,要先运行一个转换程序,忘了,太久了。

apache2关于libphp5.so的permission denied的解决方法

今天弄一个CentOS,安装httpd-2.2.8 和php-5.2.5,一切顺利。
最后一步重新启动apache报如下错误:
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

原因:是Linux有一个SELinux保护模式引起的。

解决办法:

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/apache/modules/libphp5.so
# service httpd restart
# setenforce 1

转载自:http://hi.baidu.com/shengit/blog/item/9d4da12b3b682993033bf6a2.html

查看Apache服务器Module加载状况

查看Apache服务器的Module加载状况
httpd -M

输出如下:

Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
authn_file_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_groupfile_module (shared)
include_module (shared)
log_config_module (shared)
env_module (shared)
setenvif_module (shared)
mime_module (shared)
status_module (shared)
autoindex_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
userdir_module (shared)
alias_module (shared)
rewrite_module (shared)
cgi_module (shared)
php5_module (shared)
Syntax OK

查看已编译模块

httpd -l

输出如下:

Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

谈谈Apache的优化

版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2007/08/09/about-apache-perf-tuning/以及本声明。

今天说说Apache的优化。为什么要优化?因为服务器资源不够用。 资源有很多方面,但根据木桶理论,只要有一种资源不够用, 整个服务器的性能就会受到影响(所谓瓶颈)。

服务器资源

那么服务器的资源包括哪些?对于网站来说主要是CPU、TCP连接数这两者。 CPU表现在任务数上,在Linux下使用平均负载(loadavg)来衡量。 可通过以下命令来查看(参考这篇文章):

cat /proc/loadavg
对于单CPU的服务器,loadavg高于1,表明任务队列出现了等待,CPU忙不过来了。 超过2以上就会明显感到性能降低了。

TCP连接数可通过以下命令查看:

netstat -ant | grep :80 | wc -l
如果要实时监控服务器资源,可参考OpenNMS项目。

注1:内存不算,低廉的价格使得网站服务器很少有因为内存不够而down掉的。
注2:CPU%是瞬时的CPU使用率,通常无法反映出整体负载。

阅读全文»

查看httpd进程数(即prefork模式下Apache能够处理的并发请求数)

查看httpd进程数(即prefork模式下Apache能够处理的并发请求数)

Linux命令:
ps -ef | grep httpd | wc -l

查看Apache的并发请求数及其TCP连接状态:

Linux命令:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057

说明:
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数

转载自:查看httpd进程数

2024年三月
« 5月    
 123
45678910
11121314151617
18192021222324
25262728293031