随着改革开放的步伐快速迈进,国内IT业的公司也犹如雨后春笋一般,一个接一个的涌现,这当中不乏有许多以制作门户网站发家致富的人,这也使得WWW服务器的技术一天比一天走向成熟。LAMP服务器环境,当然也是这当中热的发烫的技术之一。今天小弟我也就LAMP的架设,在博客里献献丑了。
什么是LAMP呢?实际上就是在Linux操作系统上搭配Apache+Mysql+php上实现WWW服务器平台架设。至于这些软件是什么,我就不在这里一一叙述啦,感兴趣的朋友可以上百度查查它们的相关历史。
好了,废话不多说了。首先让我们看看搭建这个平台需要给我们的Linux主机安装哪些软件来实现吧。(小弟这里使用的是Redhat Enterprise 4 Linux)
Httpd(Apache在1.3版本以后推出的软件包名称)、mysql、mysql-server、php、php-devel(里面包括php的软件加速工具)、php-mysql.
上述的这些软件包,如果是新手朋友安装的话,建议使用rpm软件包安装,不建议使用源代码包自行编译安装(因为过程有点复杂)。
软件包安装完毕后,我们可以使用rpm -ql命令来查询下软件包内的文件被放置在了系统的哪些位置。
首先让我们来看下Httpd软件包的文件在哪?
/etc/httpd/conf/httpd.conf:Apache的主要配置文件,包括设置Apache服务器运行的参数等等。
/etc/httpd/conf.d/*.conf :可以在不对httpd.conf设置的情况下,使用自己设置的一些配置文件,放在此目录中,当Apache在启动时会自动加载执行。(注意,文件扩展名要为.conf)
/usr/lib/httpd/modules/:用于存放Apache支持的模块。
/var/www/html/:用于存放网站首页的目录。
/var/www/error/:存放当 主机发生故障时,在浏览器上显示的错误消息文件的目录。
/var/www/cgi-bin/:一些默认的CGI文件的存放目录。
/var/log/httpd/:用于存放Apache的日志文件。
/usr/sbin/apachectl:用于执行Apache服务的Shell script文件。
/usr/sbin/httpd:主要的Apache的二进制执行文件。
/usr/bin/htpasswd:用于生成基本的Apache访问密码。
/var/www/icons:存放一些Apache默认的图标文件。
好了,软件包安装完了,所生成的文件和目录大概是做什么用的也了解了。现在,是该到着手配置一下小显身手的时候了。
谈到配置,主配置文件的设定是肯定的。虽然Apache默认已经为我们做了一些配置,但是我们至少也得了解一下这些配置到底是做什么的,方便日后修改或排障。
为了方便解释,我先进入到/etc/httpd/conf目录中,
使用:
#grep ^\[^#\] httpd.conf | less
这样做的目的是将httpd.conf中的注释文件过滤了,方便阅读。
ServerTokens OS
这一段是告诉客户端服务器的版本和操作系统。如果不想让别人知道那么多,可以更改为Minor。
ServerRoot "/etc/httpd"
设置文件的根目录,一般是绝对路径,而下面的很多设置使用相对路径也是根据这个路径来配置的。
PidFile run/httpd.pid
放置Apache的PID文件目录。
Timeout 120
联机等待超时时间。300S左右即可。
KeepAlive Off
是否允许持续性联机。就是当建立一个TCP连接后,可以传送多个文件。而不必没一个文件都建立TCP连接。推荐设置为ON。
MaxKeepAliveRequests 100
当允许持续性联机时,最大传输单元。0代表不限制。
KeepAliveTimeout 15
允许持续性联机时,最后一次传输后等待延时。不宜过大,否则空连接过多会浪费服务器资源。
StartServers 8
Apache启动时同时起用的进程数。
MinSpareServers 5
最小进程数
MaxSpareServers 20
最大进程数
ServerLimit 256
服务保持时间
MaxClients 256
最大连接数
MaxRequestsPerChild 4000
最大传输次数要求
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
以上两段是Apache默认的两种工作类型模块。
Worker.c更适合流量较大的网站。
Listen 80
Apache启动时所监听的端口
Load modules....
Apache所加载的模块。支持很多喔。
Include conf.d/*.conf
就是前面讲过的,用于放置一些用户自己的配置文件,而在Apache启动时自动加载。
User apache
Group apache
Apache启动和运行时需要的用户和组。
ServerAdmin
管理员的邮箱地址。