
在当前这样的一种社会环境之下,我国的网络技术是得到了大力的发展和全面的普及,互联网技术渗透到了人们实际的生活和具体的工作过程中的方方面面,越来越多的系统在具体的运行过程中,都必须是要建立在互联网的基础之上,才能够有效的予以完成和实施的。人们之间再也没有什么隔阂,人们可以通过互联网进行网上聊天,网络也被使用的越来越多,人们可以通过网络在网上逛网店买自己需要的生活用品。还有手机也可以在浏览器上通过网络实现很多功能,人们上网的成本也是实现了极大程度的降低,越来越多的人,是可以轻易的实现上网的。我们上网不再只是通过电脑的浏览器,也不用每天坐在电脑前了我们在手机上刷朋友圈QQ上看好友的动态,开车的时候通过手机导航定位来实现远距离出行。根据我国的相关权威机构发表的相关统计结果和研究数据表明,截至 2016 年 12 月 31 日,我国的网民数量以及网民规模实现了极大程度的提升和增强,我国当前网民在全世界的占有率中逐渐上升。
由于全世界的人对网络的需求越来越强烈,所以网络的升级也是不可避免的也迫切需要更先进以来满足这与日俱增的网民。所以现代的网络除了给网民们更先进更好的体验也必须保持其之前的稳定性和高效性。从当前的现实环境上来讲, web 服务器的功能已经得到了极大程度的扩展,并且其功能也是日益完善的状态,在为少数人提供对应的服务的同时,他的表现是非常优质的,在提供对应的服务的时候,他表现出来的状态也是非常好的。但是如果在面临一些重大的电商节日比如光棍节,12月12日之类的节日,淘宝京东拼多多等电商举办一些大型的打折活动,网民们们往往使难以抵挡住诱惑都会控制不住自己钱包去买买买,这个时候由于抢着购物导致网络瘫痪甚至使进不去服务器这就是广为认知的服务器崩溃。这个时候人们就普遍感受到完整全面的服务器就变的尤为重要了,如此现实的问题这就激发了广大学者们的研究,他们想要研究出更加优秀的web服务器来满足人们需求。
这个时候linux系统被人们发掘出来,人们发现它是一种稳定的开发平台,并且也在不断的改进完善,在这些产品中必须要通过一种传输协议,大多数用的传输协议就是HTTP,UDP,这种传输协议的研发使得电子产品更加的先进,人民也通过这些传输协议更方便的操纵产品。在各种类型的传感器、驱动器等现场的数据采集系统中,也使得到了全面广泛的应用。在这期间终于是有令人尊敬的人率先研发出了设备供给人们使用,后来通过互联网实现了对设备的控制。最终使得人力以及物力等与之相关的成本实现了大幅度的降低和减少,进而使得在具体的工业生产的过程中,其经营成本实现了大幅度的下滑。
从最近这几年的综合发展形势上来讲,我国也不甘落后,也把这种嵌入式的web服务器用在了许多更能被大众所接受的产品上,例如基于linux系统的广播,基于linux系统的mcu主服务器实现了数字广播远程视频会议等在这嵌入式平台的使用上据我所知的不止是广州市的诸多电子有限公司,还有许多通讯设备上。再比如现在普遍被教师所接受的录播系统被许多操纵台使用的分布式综合管理平台矩阵系统。还有用的最多的地方远程监控,网络摄像。在这方面的研发,南京航天航空大学,北京工业大学,华中科技大学都走在了国内前列,在嵌入式web服务器的基础衍生了许多的产品,那我们为什么选择在嵌入式linux系统上搭建所需要的服务器呢,那是因为那么多的产品只需要通过简单的浏览器的方式就能够实施控制,想看产品的运行是否正常,在服务器中设置自己想要的工作形式,他们只需要通过检测数据的交换来知晓工作状态,对设备有效监管。这样不需要人亲自去查看设备,只需要在电脑上打开浏览器查看当然更能被人接受。
本篇文章我将主要像大家介绍什么是www服务器,以及什么是linux系统,什么是HTTP,
IDP,UDP传输协议。简易web服务器的工作原理,以及我们如何一步步设计实现web服务器。
第2章web服务器
2.1 linux系统简单介绍
近年来,linux系统是一种平台,近年来由于使用网络的人数逐渐增多研发出各种系统平
台来搭建网络就成了全世界的主流趋势在这个系统被科学家们研发出来后,但是并没有对它进行收费也就说免费给大众使用的,所以由这个平台衍生出了各种各样适于人们操作的科技产品,他们利用linux这个平台来实现花式的功能,这在我们的生活中也是经常能碰到的,例如基于linux的led灯,基于linux的电子相册,基于linux的存储空间等等之类的。
Linux有着比其他系统平台更高效灵活的优点,linux的适用人群也不单一,它可以普通群众中普及,也可以在大中小型企业中有着必不可少不能忽略的地位。我们现在所用的电脑装的都是windows系统,在windows系统中我们可以通过对话框以及鼠标来进行点击来操作,同样我们的linux系统中也有类似的菜单栏。
当然linux有这着它卓越的优点稳定高效,但是linux系统的弊端也是存在的这里我们不多深究,反正linux系统还是在不断完善前进的路上,因为他凝聚了无数程序员的心血与汗水,目的就是能让我们普通老百姓能够使用简易请便的系统平台而不被那些研发公司所约束。
Linux强大的功能使得它能够在网络上被广泛使用,它可以支持多种协议的传输,较为常见的就是DNS,FTP,DHCP 的协议。它也可以用来当路由器使用,也可以实现我们常见email服务。
2.2 web服务器简介
首先我们来了解一下web服务器是用来干嘛的,当我们搭建了一个服务器后,用户可以在客户端通过HTTP协议向我们搭建的服务器传输数据,之后我们我们的web服务器会接收到数据并且做出响应,但是前提是我们必须要将客户端与web服务器建立TCP/IP的连接,这样我们的服务器才能与客户端之间进行传输。如下图所示2.1所示如下图所示,web服务器的工作方式就是这样客户给服务器传输HTTP协议请求,然后服务器会作出响应的回应。
如下图所示,web服务器的工作方式就是这样客户给服务器传输HTTP协议请求,然后服务器会作出响应的回应。
图2.1
Linux凭借它超出其它系统的稳定性所被人钟爱,所以我们的www服务器同样是采用了linux系统来做平台,那我们该如何在linux系统中来搭建服务器呢,首先我们要使用到一个软件,它就是Apache,如图2.2。
图2.2
2.3 配置Apache
如下图所示我们我们把我们需要的文件以一种形式保存在一个文件中并且给这个文件命名,以便于下次我们更方便查找。
图2.3
下一步同样如下图所示我们把web衍生出的文件保存在一个文件夹中,这里就是我们保存日志的地方
图2.4
图3.1列出与Apache服务器和Web站点相关的目录文件。
图2.5
httpd.conf是Apache服务器的配置文件,其代码长达千行,其中的参数非常复杂。
全局参数
Apache的默认配置基本能满足用户得需要,用户可能需要修改的全局参数,如表3.1所示。
表3.1 Apache服务器得全局参数
| 参数 | 功能 |
| Timeout | 这里是我们规定的web服务器做出的响应的时间一般情况下我们把他设置为3000秒,为什么要设置这个时间,一方面是保证安全性如果这个时间内,没有任何数据传输那么服务器会自动断开链接 |
| KeepAlive | 这里我们一般会打开它,没打开前显示的是关闭状态,为什么要打开呢,那是因为打开了它之后性能会大幅度上升,服务器的处理速度快变快。 |
| MaxKeepAliveRequests | 这个就是我们常说的访问人数,因为一个服务器如果负载的用户太多它就不能够承受,结果就会造成服务器崩溃。一般我们设置为数字100,如果设置为数字0的话那就是没有的,那就会面临一个严峻的负荷问题。 |
| KeepAloveTimeout | 这个就是我们在服务器中难免会遇到网络断开连接的问题,这个时候我们就必须要进行重连,这个就是重连时间的,超出了重连时间,那么服务器就会做出与客户端断开连接的表率。 |
用户修改http.conf文件也可以设置默认Web站点的属性,其中可能需要的参数如表3.3所示
表3.2 Apache服务器得主要参数
| 参数 | 功能 |
| ServerAdmin | 默认为root@localhost,应将其设定Apache服务器管理员的电子邮件地址 |
| ServerName | 指定主机名称 |
| DocumentRoot | 指定Web站点的根目录,默认为“/var/www/html” |
| DirectoryIndex | 默认值为index.html index.html.var,客户访问Apache服务器时没有选择一个所需要的网页名,那么Apache就会自动默认选择index.html.var文件 |
在桌面环境下我们该如何配置Apache服务器呢,具体的步骤就是超级用户先打开主菜单,然后在主菜单的系统设置这一栏选择系统设置中的服务器设置然后选择HTTP协议,这里我们就可以配置Apache了,对话框中显示出主,虚拟主机,服务器,调整性能这里我们点击端口上所有可用地址80。
如图3.5所示。
图2.5卡图 2.6监听地址
(1) 第一步设置
我们在对话框中显示的服务器名中填写web服务器的域名然后可以在“网主电子邮件地址”文本框内输入管理的电子邮件地址root@localbost,填写完成后,我们按键盘快捷键E这个时候弹出了文本框让我们编写地址,这时会让我们编写一个地址,这里我们输入202.120.92.10端口号我们填80,另外,在这个位置我们填“*”那结果就是会对所有的地址进行监听。最后我们一定要记得点击确定按钮来保存我们的设置。
(2)第二步设置
单击“服务器”选项卡,出现如图3.7所示窗口,则通常不需要修改。
图2.7选项 图3.8 调整性能选项
(3)第三步设置性能
在这里设置服务器性能即我们上边提到的服务器的最大连接数量,除此之外,每个连接的请求数量也可能不同同样这里也可以它的数量。如上图。
(4)第四步设置主机的数量
单击“虚拟主机”选项卡,显示当前只有一个默认的虚拟主机,如图3.9所示。
如图3.10所示,在此对话框中可设置默认虚拟主机的各项内容。
图29 默认虚拟主机的常规 图210 “虚拟主机”
常规选项
在虚拟主机的属性这一栏我们可以看到“常规选项”四个字,基本设置里有显示虚拟主机名,文件根目录网上电子邮件地址。
站点配置
在这里我们可以选择在目录搜寻列表中添加或者删除编辑我们的站点,即目录被要求时所要搜寻的文件列表。
在我们登录网站时我们经常会遇到网络错误,这个时候会弹出一些提示,最常见的例如“你的请求错误”。“你请求的界面不存在”等等,当然这些文字我们也是可以编辑的这里我就不再叙述了。“默认错误页页脚”下拉列表可选择下列选项:
“显示页脚和电子邮件地址”:在所有错误页的底部显示默认页脚以及网站管理员的电子邮件。
“显示页脚”:在错误页的底部只显示默认的页脚。
“无页脚”:在错误的底部不显示页脚。
通常不需要修改“错误页码”栏和“默认错误页页脚”栏。
图211 默认虚拟主机的站点配置
记录日记
单击“记录日记”选项,我们选择记录到文件到logs/access_log,这里是我们要传输的,如果是错误的那我们就会选择记录文件到logs/error_log,日志级别我们一般就选择Debug,逆向DNS查询我们选择无逆向查询,单击确定保存我们的设置。
图2.12默认虚拟主机的记录日志
环境变量
单击“环境变量”选项,可配置CGI脚本的环境变量,如图3.13所示
图2.13
我们点开环境变量选项,如图有三个空白框,我们在右边的添加来做出我们想要的设置,点击确定保存下来。
图2.14
观察图2.14发现这里还剩下目录和SSL选项,默认目录选项这里有ExccCGL,FollowSymlinks,Includes,具体的如上图中所示,我们同样可以编辑参加,SSL主要是用来加密用,一般我们都用不到。我们打开编辑,这里会有三个选项,第一个是允许所有主机访问该目录,第二个是处理拒绝列表后在处理允许列表,第三个是处理允许列表后再处理拒绝列表。这里我们勾选第一个。在目录下我们输入一个目录点击确定保存如图3.15。
图2.15
添加虚拟机是必不可少的一步, 首先我们要有一个虚拟机名,然后我们需要选择一个目录来保存我们所进行的操作来进行一个存档在主机信息这一栏有几个选项,在这里我们选择“基于IP的虚拟主机”,然后给我们的虚拟机一个IP地址,最后给我们服务器主机起一个名称,具体操作如3.16所示。
图2.16
图2.17
如图3.18,如果是超级用户我们同样要进行设置,我们先点击站点配置,我们也要为我们的web服务器设置如图所示的默认打开的网页在我们使用虚拟机时我们每个人都需要注册 一个用户,来实现我们在虚拟机中通过我们搭建的服务器来实现用户之间传输和交流,虚拟机在我们平时的关于网络服务器的搭建与测试中有很大的作用。
图2.18
在我们修改之后还是不行的,我们还需要一个很关键的步骤,那就是重启htppd服务。
图2.19tpd服务
第3章DNS服务器
3.1 DNS服务器简介
域名服务是TCP/IP网络中最为关键也最为核心的网络服务,从其执行的主要的功能上来讲,如果我们想要实现IP地址和域名转换就可以通过它来执行。域名系统从其使用的具体的结构上来讲,它使用的结构是被大家最常用的分布式,而且主要由以下几个部分组成。
第一个是域名空间,其含义就是有域名和空间组成,域名就是我们平时在网站上登录网址所要使用到的,空间就有点像是虚拟的空间。
第二个是域名服务器,有了域名空间那就必须给它配备服务器来处理传输的数据,这就是其主要作用。
第三个就是解析器,显然我们在网页中登录网址就需要解析器来做解析并发送请求。
在我们的互联网中,域名在一个域中必然是不能有相同的,它属于比它等级高的域但是它也可以没有比自己低级的域,如果这里有两个域名但是它们所属的域不同,这是可以被允许的。
在整个Internet中,我们对域做出了分级,就像树状图一样,有最顶端的域,相反也有最底层的域,最顶层的域我们称它为根域,最底层的叫它三级域,这其中还包含着顶级域、二级域、三级域,并且基于这样的一种基础,不断地向外辐射和高效的扩展。顶级域数目是非常少的,并且通常情况下,他是不能够轻易的被改变的,有InterNIC来对顶级域进行管控,这个时候域名服务器就体现出了它的作用,由它来存储信息数据。跟分级管理一样,等级高的域就会管理比它等级低的域。例如三级域是在二级域的作用之下进行分出的,其相关信息保存于二级,域服务器,按照这样的一种方式是可以进行不断递推和演化的。以此类推,根域管理顶级域,顶级域管理二级域。
互联网中每一台计算机的域名在命名的过程中,都是必须要充分的遵循相关的原则的,这样解析器在解析的时候也会有条有理,我们平时登陆用的网址你会发现一般都是www.开头的,这个就是顶级域,后边就会跟着二级域,现在所有的个人或者企业想要建立自己的网站都必须先注册。
3.2 DNS服务器的类型
我们现在所用的linux系统必须要使用一个软件它的名字是BIND,而后named就可以对域名中的解析服务进行全面系统的管理。
要配置Internet域名服务器,还必须在桌面环境下运行“添加/删除应用程序”
如下图
删除应用程序界面图
从“DNS名称服务器”软件包组选择安装caching-nameserver软件包,其包含配置Internet域名服务器所需的初始文件如下图
图3.2internet域名服务器所需的初始文件图
3.3 DNS常规服务器配置
配置Internet域名服务器是需要使用一组文件如2.1图,其中最重要的是主配置文件named.conf如图
图主配置文件named.conf
named守护进程运行时首先从named.conf文件获取其他配置文件得信息,然后才按照各区域文件的设置内容提供域名解析服务。
图3.1
第4章 传输层协议
上边我们说到了要想客户端与服务器之间能进行交流,就必须建立一个协议连接,它就是TCP/IP协议,所以我们必须要对此协议有一定的了解,知道他们的使用方法。下面我来介绍一下。
4.1 TCP/IP协议
网络之间的传输必须要进行分层而且客户端与服务器也必须要对应相应的层,即在应用层HTTP客户与HTTP服务器之间通过HTTP协议,传输层客户边的TCP就要与服务器的TCP通过TCP协议,以此类推,在网络层就是IP协议间的传输,在链路层就是以太网程序之间通过以太网协议传输,这是他们之间的结构。
4.2 IP协议
我们在生活中经常会听说到什么ip地址之类的,这里的IP是一种协议,它是把网络用户集中在一起的一种桥梁,只有都遵守了这样一种协议,我们才能够在网络中交流,由于IP协议的灵活性使得很多底层网络硬件也能加入到网络中来,我们都知道计算机是二进制,如果想要加入到网络中进行交流,只要遵守IP协议就可以加入到网络中来。庞大的网络群体可能会使我们产生网路真实存在的幻觉,事实是网络是虚拟的,IP协议的作用就是把我们这些想要加入到网络中来的人通过一种约定好的协议来聚集在一起交流。
4.3 传输层协议
TCP是一种传输服务,它通过比特流通信,我们会指定一个端口,我们必须在这个端口来实现传送,客户机与服务机建立连接必须经过三次握手,当想要建立连接时,客户就会想服务器发送连接请求,这个时候发送的都是分成一小段一小段的,服务器也必须相对应做出每一段的回应,回复确认信息,这样才能建立一个完整的连接。
UDP协议通常被我们用于传输数据不多的情况下并且主机也不需要做出回应的那种简单传输。
4.3 HTTP协议
因为我们所搭建的服务器与客户之间传输运用的就是这种协议,所以我们必须要了解这个协议并且知道他的优缺点和该如何使用。HTTTP协议的工作原理在我们搭建的服务器中显得至关重要。上边我们提到过HTTP协议位于应用层,所以是服务器中最重要的组成部分,它的主要特点就是快速简单,因为这个协议简单,所以通信速度也就变的很快。因为HTTP协议传输的数据对象非常广泛,所以这也就表现了它的灵活性。HTTP协议相对其他协议能省很多的时间因为它被每次只能处理一个请求,只有处理完这个请求之后,收到客户那边的回答之后就可以断开连接了,因此会大大的节省了传输时间。当然HTTP协议也有着它的缺点,那就是它是一种对之前传输过的数据没有记忆,所以每次传输数据的时候它都要把之前传输过的也再传输一遍,这也就间接导致每次传输的数据量会很大。HTTP运行的前提是TCP所以这就要求我们对TCP协议的了解必须全面。
第5章 具体实现
整个安装有以下几个步骤,首先安装linux系统,这是基础,第二步是Tomcat和MySQL,紧接着是安装Apache和PHP,然后是最为复杂容易出现错误的一步,Tomcat和Apache的整理,在这个步骤里我们一定要小心翼翼,否则其间有一点小小的错误,我们的配置就会全部功亏一篑,最后是
5.1 安装linux系统
因为我们此次搭建服务器的操作是在linux系统下进行的,所以我们的首要任务当然就是安装linux系统了,首先我们必须要有一个装有linux系统的光盘,而后我们把光盘插到电脑中,然后根据操作提示进行一步步操作,此间可能有很长的等待时间,很正常,等到所有步骤完成之后,我们就可以进行我们下一步的步骤了,安装vsptd最后我们配置APache。
5.2 Tomcat与MySQL安装
为什么要安装这个呢,那是因为我们必须要有共同的语言,这个我们在系统中运行不会出现错误,只有语言想通时,我们才能完成我们的设计。
除了安装Tomcat和MySQL,我们还需要安装JBC和JDBC,这些我们可以现在百度搜索,下载地址我就不在这里叙述了。一定要下载并且安装。
安装JDK:
#cd
#cd downloads
#./jdk-1_5_0-linux-i586-rpm.bin
一般这样就可以了,/usr/java/jdk1.5.0就会出现我们所安装的JDK,但是尽管我们安装了JDK,但是如果我们想让它编译JAVA,还必须得编辑/etc/profile,最后我们还得加入环境变量,而这一步我们需要放在文件的末尾。
export JAVA_HOME=/usr/java/jdk1.5.0
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$PATH:$JAVA_HOME/bin
如果想要我们的修改起作用,这里我们一定不能忘记重要的一步,那就是重新启动,只有重启了之后才可以实现。
现在我们拿一个简单的java程序来试验一下,world.java,把我们的测试程序输入进去:
Public this World{
public static void main(String args[]){
System.out.println("WELCOME TO CHINA");
}
}
接着我们在一个终端上测试一下回应:
#javac world.java;java world如果终端上 显示了我们所输入的测试结果“WELCOME TO CHINA”,这样说明我们的编译环境是正常的,那我们就可以进行下一步操作了。
我们先把文件jakarta-tomcat-5.0.28.tar.gz下的内容解压一下,然后 解压的结果放在目录 /usr/local/下
#tar xvfz jakarta-tomcat-5.0.28.tar.gz
#mv jakarta-tomcat-5.0.28 tomcat
然后我们在/etc/profile文件的末尾加入
export CATALINA_HOME=/usr/local/tomcat
如果我们想要开机自启TOmcat那我们必须得修改一个内容,具体修改内容如下
/usr/local/tomcat/bin/startup.sh内容为:
export JAVA_HOME=/usr/java/jdk1.5.0
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/tomcat
/usr/local/tomcat/bin/catalina.sh start
还得在/etc/rc.d/rc.local中添加:/usr/local/tomcat/bin/startup.sh
#shutdown
重新启动了之后呢,我们再次打开浏览器,如果在浏览器中显示了欢迎我们的字语,那就说明我们的设置成功了,相反如果没有,那我们就得重新试了。
下面是hen关键的一步那就是安装MySQL
添加mysql用户和组
#groupadd mysql
#useradd -g mysql mysql
#tar xvfz mysql-4.1.11-0.tar 解包
#./configure --prefix=/usr/local/mysql
#make /*编译*/
#make install /*安装*/
#./scripts/mysql_install_db.sh
#chown -R root /usr/local/mysql /*recursion修改权限*/
#chown -R mysql /usr/local/mysql/var /*recursion修改权限*/
#chgrp -R mysql /usr/local/mysql /*recursion修改权限*/
#cp support-files/my-medium.cnf /etc/my.cnf /*配置文件*/
如果提示此字语overwrite?-->那我们就得选择yes
#/usr/local/mysql/bin/safe_mysqld --user=mysql &
后面显示的如果是[1]1357,1357为进程号,是随机的一个值,那就说明我们的安装没有问题,成功了。下一步安装mySQL的JDBC驱动
把mysql-connector-java-3.1.7-ga.tar.gz解压缩到/tmp目录
#cd /tmp
#cp mysql-connector-java-3.1.7-ga-bin.jar /usr/local/tomcat/common/lib
把mysqs能够访问数据的权限提高,这样后边就能正常运行了
#cd /usr/local/mysql/bin
#./mysql
mysql>GRANT ALL PRIVILEGES ON *.* TO *************************** domain IDENTIFIED BY 'password';
mysql>quit
5.3 Apache与PHP安装
前边我们安装了安装Tomcat和Mysql以及JDBC,下边就是安装的重中之重了,那就是安装PHP和Apache。具体安装过程如下:
#cd ~/downloads
#tar xvfz httpd-2.0.53.tar.gz
#cd httpd-2.0.53
#./configure --prefix=/usr/local/apache --enable-so
#make
#make install clean /*安装,并且清楚编译时产生的文件*/
编辑/usr/local/apache/conf/httpd.conf: 把index.php index.jsp 加在DirectoryIndex后面
再添加一行 AddType application/x-httpd-php .php .phtml .php3 .
inc AddDefaultCharset后面修改成GB2312
执行#/usr/local/apache/bin/apachectl start启动Apache,我们在网页中访问网址http://localhost如果出现了Apache的欢迎词,就说明我们安装成功了,如果没有说明我们肯定在哪个过程中出现了错误,我们返回之前的步骤检查一下哪里出错了
若要开机自动启动Apache,那么就要在文件/etc/rc.d/rc.local中加入:一行/usr/local/apache/bin/apachectl start
如何安装PHP,如下
先解压然后编译之后安装以下内容
#cd ~/downloads
#tar xvfz php-5.0.4.tar.gz
#cd php-5.0.4
#./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --with-mysql=/usr/local/mysql
#make
#make install
#cp php.ini-dist /usr/local/lib/php.ini
安装完以后我们来进行测试,首先我们来运行#/usr/local/apache/bin/apachectl restart然后我们重启一下我们安装的apache服务器,然后我们新建一个文件test.php放在/usr/local/apache/htdocs中紧接着用vi内容: phpinfo() ?> 在进入网页输入这个网址http://localhost/test.php就会出现有关于服务器的信息,如果出现了那那就说明我们安装的apache可以对PHP文件做出解析。
5.4 Apache和Tomcat
将tomcat和apache整理在一起是一个非常复杂的过程,一不小心就会出现错误,而且一个微小的错误就会导致整个过程白费,强调一下,这里我们一定要小心再小心。
解压之后编译,编译完之后安装以下内容
jk2
#cd ~/downloads
#tar -xzvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
#cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
#./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-EAPI
#make
#make install
#cd ./jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2
#cp *.so /usr/local/apache/modules/
编辑完文件/usr/local/tomcat/conf/jk2.properties之后,我们在它的末尾加入以下内容:
# list of needed handlers.
handler.list=channelSocket,request
# Override the default port for the channelSocket
channelSocket.port=8009
此处的’#’ 我们需要打进去这里的意义是不同的
创建文件/usr/local/apache/conf/workers2.properties或者对这个文件进行编辑具体内容如下:
# only at beginnin. In production uncomment it out
[logger.apache2]
level=DEBUG
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.1.1.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*.jsp]
worker=ajp13:localhost:8009
这里的*的意义我们在上边强调过,这里一样需要输入。
创建文件/usr/local/apache/conf/httpd.conf或者对此文件进行编辑并在它的最后
加入:LoadModule jk2_module modules/mod_jk2.so
DocumentRoot "/usr/local/tomcat/webapps/ROOT"
这里我们将/*Apache默认的DocumentRoot设为/usr/local/apache/htdocs,Tomcat默认的不是一样而是/usr/local/tomcat/webapps */
最后一步还是跟前边安装的一样,进行测试, 同样进入网页输入网址看我们安装成功没,如果显示了欢迎我们的信息,那就说明我们安装的成功了。
5.5 安装vsftpd
首先我们输入网址:ftp://vsftpd.beasts.org/users/cevans/ vsftpd-2.0.tar.gz然后我们在弹出的网页中下载软件。
在安装VSFTPD之前我们需要进行以下操作
我们需要一个叫‘noody’的用户,如果存在我们是不用添加的,不存在我们就需要先添加一个如下所示
# useradd nobody
然后我们需要目录,并且这个目录里必须是空的:添加目录/usr/share/empty,如果没有的话那我们就添加
# mkdir /usr/share/empty/
我们现增加一个用户名字叫"ftp",假如没有那么/var/ftp/就是FTP的根目录,当然我们也可以换成;
# mkdir /var/ftp/
# useradd -d /var/ftp ftp
#chown root /var/ftp
#chmod go -w /var/ftp
安装VSFTPD及其配置、执行和帮助文件。
#cd ~/downloads
#tar xzvf vsftpd-2.0.1.tar.gz
#cd vsftpd-2.0.1
#make
#mkdir /usr/local/man/man5
#mkdir /usr/local/man/man8
#make install
#cp vsftpd.conf /etc
我们把listen=YES加入到/etc/vsftpd.conf的末尾
同样如果我们要设置开机是自动启动那我们就需要把/usr/local/sbin/vsftpd 加入到&/etc/rc.d/rc.local中去。
现在我们来最后一步测试vsftpd
# /usr/local/sbin/vsftpd &
正常启动的话:
ftp 127.1.1.1
Connected to localhost (127.1.1.1).
220 (vsFTPd 1.1.1)
Name (localhost:chris): ftp
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127.1.1.1)
150 Here comes the directory listing.
226 Directory send OK.
ftp> quit
如果结果是这样的话就说我们我们的安装是成功的。
5.6 Apache的配置
在我们成功的安装Apache之后,配置文件httpd.conf会在conf子目录下生成出来,而且它是我们设置的Apache的主文件。,httpd启动之后会先读取httpd.conf。
下面还有一些必要的设置
# Do NOT add a slash at the end of the directory path.
DocumentRoot "/usr/local/tomcat/webapps/ROOT"
MaxClients 200
这个使我们设置的服务器的最大连接数,就是我们的服务器最大接纳人数,超出了这个值,多余的我们服务器将会提示让它等待。一般我们设置成150,这里我们设置200。
KeepAliveTimeout 15 这个使我们设置的重连时间,如果15秒用户还是没有重连,那么就会自动断开连接。
ErrorLog: 这个的意思是当有错误信息出现时,默认把错误的信息放到一个文件中保存下来。
我们默认把错误信息放到logs/mytestweb.log中
# 我们设置一个页面把它设为默认 DirectoryIndex index.html index.jsp index.xtp index.php index.php3
至此我们的安装就全部完成了。
第6章 结语
如果我们要搭建一个完善且操作简单也便于大家使用的web服务器,linux系统无疑是一个很好的选择,最近几年linux系统的发展也越来越迅速而且前景只会越来越好,我们适应潮流的发展,多利用linux系统平台不仅仅局限于搭建web服务器,最后我们总结一下搭建一个web服务器能实现用户通过HTTP传输协议给到服务器,服务器也作出相应的回应总结一下有一下几个步骤,首先我们要了解DNS服务器的运用,因为这是我们搭建服务器的基本知识。然后重点就是WWW服务器,也是我们的重中之重,客户就是通过HTTP传输协议传输数据给到www服务器,随之就是www服务器通过同样的传输协议给出回应。搭建www服务器的平台有很多,这里我们选择的是linux系统,至于为什么选择linux平台,上边我们已经详细阐述了。所以要在linux平台上搭建web服务器,我们首先得在电脑上安装linux平台,了解传输协议的工作原理。最后按照最近几年的网络发展以及linux系统的完善,我相信以后会有越来越多的东西来使用linux系统平台。
