8 月 242010
 

在APACHE的httpd.conf中,KeepAlive指的是保持连接活跃,类似于Mysql的永久连接。换一句话说,如果将KeepAlive设置为On,那么来自同一客户端的请求就不需要再一次连接,避免每次请求都要新建一个连接而加重服务器的负担。    

KeepAlive的连接活跃时间当然是受KeepAliveTimeOut限制的。如果第二次请求和第一次请求之间超过KeepAliveTimeOut的时间的话,第一次连接就会中断,再新建第二个连接。  

所以,一般情况下,图片较多的网站应该把KeepAlive设为On。但是KeepAliveTimeOut应该设置为多少秒就是一个值得讨论的问题了。  

如果KeepAliveTimeOut设置的时间过短,例如设置为1秒,那么APACHE就会频繁的建立新连接,当然会耗费不少的资源;反过来,如果KeepAliveTimeOut设置的时间过长,例如设置为300秒,那么APACHE中肯定有很多无用的连接会占用服务器的资源,也不是一件好事。  

所以,到底要把KeepAliveTimeOut设置为多少,要看网站的流量、服务器的配置而定。   Continue reading »

8 月 182010
 

Apache的模块选择是加固Apache的关键步骤之一。 我们所遵循的规则无非是老生常谈的:越少越好. 为了实现我们的功能和安全要求,以下模块必须启用:

模块名称           描述
httpd_core   Apache的核心模块,在Apache的每个拷贝中都必须有
mod_access   提供基于客户端主机名、IP或者其他客户端特征的访问控制。 由于本
模块对需要使用'order'、'allow'、'deny'等指令来说是必须的,所有启用
mod_auth   提供用户认证功能 (HTTP Basic Authentication)
mod_dir   提供查找并发送”index.html”, “default.htm”,这些index文件功能
mod_log_config   实现Web服务器的日子功能
mod_mime   用来设置HTML文档的字符集、内容编码、处理句柄 和MIME 类型等功能

除此之外所有的Apache模块都予以禁用。因为我们不需要它们。禁用那些模块后,进一步避免因为那些模块出现问题而导致服务器出现危险。

另外单独注一笔的是另外两个Apache的模块: mod_autoindex和mod_info .
前者给目录提供自动索引,默认情况下是启用的,这导致没有index文件的服务器目录(比如http://server_name/icons/)内容很容易就被泄漏,
而后者:mod_info , 由于它的作用就是报告apache的配置,也不能启用。

以上资料基于 apache 1.3.x 写于2005年,供参考.

4 月 142010
 

    eAccelerator和memcached,是目前较为主流的两个可使用在PHP之中的缓存加速工具.

    eAccelerator专门为PHP开发,而memcached不仅仅用在PHP之中,其他所有的语言都可以使用.

  eAccelerator的主要功能:
    1. 缓存PHP文件的执行代码:在被缓存的代码再次被调用时,将直接从内存读取,从而在很大程度了PHP运行的速度.
    2. 提供了共享内存操作函数:用户可以将自己的常见非资源对像,保存到内存之中,并可以随时读取出来.

 memcached的主要功能:
 提供共享内存操作函数,可以保存和读取数据

 两者的共同点:
 共同点:都提供了共享内存操作函数,可以用来保存和读取自己的数据 Continue reading »

1 月 252010
 

Discuz! info: Can not connect to MySQL server

Time: 2007-11-13 6:25pm
Script: /bbs/index.php

Error: Can't connect to MySQL server on 'localhost' (10048)
Errno.: 2003

Similar error report has beed dispatched to administrator before.

以上错误分几种情况说一下(首先您要确保您的服务器及服务器环境是正常的,装一个新论坛试一下就知道了):

1. 如果您是虚拟空间,出现以上错误,有可能是限制而引起,只有找您买虚拟空间的服务商解决,或是更换更好的空间
      
2. 有可能是攻击,攻击会导致服务器内存被占完,然后MYSQL数据库没内存用了,MYSQL就挂了,就会出现以上错误。

3. 有可能是程序出错,或是某个数据表出错,直接把整台服务器的MYSQL拉死了,然后出现上面错误。

4. 也有可能是服务器中安装的防火墙引起的。 Continue reading »

1 月 252010
 

mysql安装好需要优化配置一下
2007-06-22 08:00
mysql安装好需要优化配置一下,打开c:\windows\my.ini文件
第一种
QUOTE:
#This File was made using the WinMySQLAdmin 1.4 Tool
#2004-2-23 16:28:14

#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions

[mysqld]
basedir=D:/mysql
#bind-address=210.5.*.*
datadir=D:/mysql/data
#language=D:/mysql/share/your language directory Continue reading »

10 月 012008
 

编辑httpd.conf 设置如下:


SetEnv IMAG 1

CustomLog logs/access_log combined env=!IMAG

这样记录文件access_log就不会记录ico|gif|jpg|png|bmp|swf的访问记录,同样也可以加上css|js才过滤css和js文件,效果很好.
但是这种记录限制只限制于做虚拟主机的时候没有同时设定记录文件的时候会参照这个方式记录在access_log文件里.不过httpd.conf里默认还有另外一个类似不记录虚拟主机日志的日志文件.

(设定:服务器是windows20003,装有apache2.3 php5 mysql zend gd)

参照:
    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-
access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    CustomLog logs/access.log common
这样会重复记录一个文件access.log ,所以可以注释掉上面那一行:
#CustomLog logs/access.log common Continue reading »

10 月 012008
 

Apache 一般有两种日志格式:
通用日志格式(Common Log Format) 和 组合日志格式(Combined Log Format)

http.conf中默认格式如下:
LogFormat “%h %l %u %t \”%r\” %>s %b” common
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-agent}i\”” combined

也可以使用自定义,这里使用`分隔 日志参数

%h`%l`%u`%{%Y-%m-%d %H:%M:%S}t`%r`%s`%b`%{Referer}i`%{User-Agent}i`%{X-Up-Calling-Line-ID}i

输出结果如下:
127.0.0.1 – frank [10/Oct/2000:13:55:36 -0700] “GET /apache_pb.gif HTTP/1.0″ 200 2326
127.0.0.1 – frank [10/Oct/2000:13:55:36 -0700] “GET /apache_pb.gif HTTP/1.0″ 200 2326 “http://www.example.com/start.html” “Mozilla/4.08 [en] (Win98; I ;Nav)”
172.16.0.115`-`-`2008-03-13 11:00:03`GET /logo.gif HTTP/1.1`200`2893`http://172.16.0.252/index.jsp `Opera/9.26 (Windows NT 5.1; U; zh-cn)`- Continue reading »