构筑LAMP框架之apache
|
LAMP框架是当前软件开发的一种重要模式,LAMP中的L代表开源的操作系统Linux,A代表最著名的WWW服务器,也是开源软件的Apache,M代表性能优越的开源数据库软件Mysql,而P代表开源的网络脚本语言PHP,也代表Perl和Python,后两者也都是著名的开源软件。LAMP都是免费的自由软件,但是性能毫不输于相应的商业软件——比如说Apache强于微软的IIS这是众所周知的事实——所以在信息领域非常流行,同时有很多具体的应用系统也是构筑在LAMP框架之上。 1Apache的安装、配置Apache是UNIX系统中普遍使用的WWW服务器软件。根据Netcraft的统计(http://news.netcraft.com/archives/web_server_survey.html),目前因特网中,有超过百分之六十的服务器是使用Apache来提供网页浏览的服务。Apache可以说是目前世界上使用人数最多的网页服务器软件,它不仅可以在FreeBSD、UNIX、Linux中运行,也可以安装在Windows操作系统中。 Apache和FreeBSD一样,在软件版本上也有多个分支,目前较稳定的版本有1.3及2.0.Apache1.3系列开发已久,已经十分稳定了,不会再有重大的修改。而Apache2系列是一个开发较活跃的版本,它和1.3最大的不同在于对多线程(multithreaded)的支持。目前Apache2.0.58是最主要的稳定版本,而2.2.2则还处于开发中的状态。 在Debian上安装Apache软件非常方便,比在Windows系统上安装同类软件更为简单,我只用一行命令就搞定了:#apt-getinstallapache2 在Etch中存在Apache的两个版本,Apache1和apache2,前者是一个久经考验的稳定版本,目前仍然有许多的实际应用;后者则具有很多新的功能,处于与时俱进的考虑,我们上面安装的是后者,安装的版本是apache2.0.55. 以下是一些在实际使用中常常会遇到的问题:1)配置文件的位置:在Etch中位于/etc/apache2/apache2.conf在其他版本可能位置和名称有所不同,与apache1的位置也不同。 在/etc/apache2/下面,还有两个目录,分别是mods-available和mods-enabled,显然前者是提供的模块,后者是启动了的能正常起作用的模块。如果需要把提供的模块使起作用,需要在后者的目录下做一个前者的符号连接。 2)缺省的主目录:/var/www/系统安装好后,我在/var/www目录下写入了一个简单的index.html文件,只一句:#catindex.htmlThisisaDebianserver然后在客户端检查是否输出正确。 3)log文件的位置log文件的作用是很大的,Apache有二个log文件,一个是所有登陆本apache服务器的记录,/var/log/httpd-access.log,文件记录了登陆的ip,时间,浏览器类型等;另一个是联机错误记录文件,/var/log/httpd-error.log,这个文件对于调试apache参数是很有作用的。两个文件都是文本文件,可以由nano等文本编辑器来浏览、编辑,记录文件的位置及文件名是由httpd.conf中的相应配置来改变。 3)启动、停止和重新启动httpd服务器的运行:apapche2ctlstart(stoprestart) 这个命令比较有用,尤其是在修改配置文件之后。 4)个人用户目录的问题:不同于apache1,重要修改配置文件中的UserDir,apache2把个人用户作为一个模块,则需要先:cd/etc/apache2/mods_enabledln-s/etc/apache2/mods_available/userdir.confuserdir.confln-s/etc/apache2/mods_available/userdir.loaduserdir.loadapache2ctlrestart同时修改主配置文件,注释掉#UserDirpublic_html这句,再在用户test的主目录/home/test下面创建一个index.html文件,就可以浏览:http://yourip/~test了。 5)自动支持中文的问题网页的缺省字符集有参数AddDefaultCharsetISO-8859-1这时候在浏览器浏览中文网页的时候,会乱码,需要手动设置编码方式为GBK或GB2312才能显示中文去掉注释,修改为AddDefaultCharsetGB2312就可以了。 6)Apache状态信息在安装完Apache后,我们需要不断了解服务器的系统各方面的情况。Apache2内建了server-status及server-info二种查看服务器信息的方法。server-status是指服务器状态信息,我们可以了解Apache目前运行的情形,包括占用的系统资源、目前联机数量等。server-info主要是显示Apache的版本、加载的模块信息等。 为使用这两项功能,我们必须先修改/etc/apache2/apache2.conf.首先要自己手动添加一行ExtendedStatusOn,否则得到的信息会不够详细。 然后分别找到和这两段,把两段内前面的注释都去掉,并设置好访问权限。不重视安全的话,可以设置allowfromall.再:cd/etc/apache2/mods_enabledln-s/etc/apache2/mods_available/info.loadinfo.load 然后就可以在浏览器以http://hostname/server-info访问了。 6)其他一些我认为比较重要的配置参数:ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。 Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。 HostnameLookups:指定记录用户端的名字还是IP地址原文链接:http://www.osschool.org/wen/bbs/topic.php?forumid=1&filename=f_243 源代码网供稿. |
