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

文章属于类别 Apache

PHP程序页面打开空白

已经遇到过两次了,打开一片空白,没有任何提示。

1次是Discuz!首页打开时一片空白,但UCenter又可以打开,登录进后台stat index.php,发现文件的修改日期有问题,被修改日期是6月16日,论坛改版做好后,很久没有修改过这些文件了。估计是被人入侵了!网上有说是编码问题。难道别人把我文件的编码修改了?查看了下备份目录,刚好在6月13日有个备份,把它解压缩出来,覆盖掉原来的,一切恢复正常。

2次是朋友的一个很简单的站,打开是一个空白页面,对比过配置文件,发现跟其他站点的配置一样,怀疑会不会是程序不能在二级目录下运行,就把该主机的根目录设置为那二级目录,结果打开还是不行,又改回来,查看了Nginx的日志,没有错。最后去程序官方,重新下载了一个,直接在服务器上解压缩,再访问,一切正常。注意啊!估计是从Windows传文件上去时,文件出现的问题。无论是SFTP还是FTP,都记得要用binary(二进制)方式上传。这样是最保险的!

同时连接数需求量计算公式

记不清是从那位兄弟伙的blog中看到这个公式,觉得很有用

每日PV数 / 86400秒 * 10个派生连接数 * 5秒内响应 * 5倍峰值) / Web服务器台数 = 同时连接数

转载自:http://www.ynog.com/index.php/archives/296

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的prefork模式和worker模式

prefork模式
这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。

这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小。

worker模式
此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。

控制这个MPM的最重要的指令是,控制每个子进程允许建立的线程数的ThreadsPerChild指令,和控制允许建立的总线程数的MaxClients指令。
阅读全文»

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