Web服务器是在网络中实现信息发布、资料查询、数据处理、视频欣赏等多项应用而搭建的服务平台,它使得成千上万的用户通过简单的图形界面就可以访问各个大学、组织、公司等的最新信息和各种服务。
Web服务器是因特网上最主要的服务之一,即人们常说的www服务。Web服务的核心技术是超文本标记语言HTML和超文本传输协议HTTP。Web浏览器和服务器通过HTTP协议来建立链接、传输信息和终止链接。Web浏览器将请求发送到web服务器,服务器响应这种请求,将其所有请求的页面或文档传送给web服务器,浏览器获得web页面并显示出来。
其中目前世界上最流行的、也是最好用的web服务器还是Apache;其主要特点是简单、速度快、性能稳定,并可做代理服务器来使用。它可以支持SSL技术,并支持多个虚拟主机。
首先要安装Apache服务器,它所需要的软件包有http-2.2.3-11.el5.i386(主软件包) http-devel-2.2.3(Apache开发程序包)
由于Apache在安装时就采用了一系列默认值,所以不对它进行配置也可以让www服务器运行起来。只需要将主页放到/var/www/html/目录下即可;其中核心的配置文件是httpd.conf,它位于/etc/httpd/conf/httpd.conf目录下,大部分设置都是通过修改该配置文件来完成的,该配置文件其中大部分都是注释部分
整个配置文件可以分为三个部分;全局环境配置(它所能处理的并发请求数或者在×××其配置文件)、主服务配置(指令的设置及响应<VirtalHost>所处理的请求)、虚拟主机配置(在服务器上实现多个域名和主机名的服务)。
在修改主配置文件后,重新启动一下服务就可以显示出来 (使用命令service httpd restart);再将制作好的网页及相关资料放在文档目录/var/www.html中;就可以打开浏览器来测试 。(注:主页的文件名称一定要是index.html)
可以通过查看日志来查看服务能否正常启动,命令 vim /etc/httd/logs/error_log 基本的http服务器就可以使用了。
但由于网站的飞速发展,使得传统的一台服务器对应一个网站的方式已经不能适应其需求了,从而出现了虚拟机技术。虚拟主机在在web服务器,可以为多个单独域名提供web服务,并且每个域名完全独立,包括具有完全独立的文档目录及设置。不但通过每个域名访问的内容完全独立,并且使用另一个域名无法访问其他域名提供的网页内容。
在Apache服务器上配置虚拟主机的三种方式、:基于端口、基于IP地址、基于域名的几种。如下:
虚拟主机
    基于IP 使用不同地址 端口相同
       基于端口   使用相同地址 端口不同
       基于域名 IP地址与端口号相同 主机名不同
要想启用虚拟主机则启用NameVirtualHost、CGI 协议,且得先取消中心主机,注释中心主机的DocumentRoot
虚拟主机的创建应用:(本实验为创建新配置文件、新目录,有个别设置需要在主配置文件/etc/httpd/conf/httpd.conf/中修改。还有在显示页面的主机上的host文件(在C:\WINDOWS\system32\drivers\etc下,有可能隐藏了文件)也要分别添加其主机名)

 

  1. [root@localhost conf.d]# vim virtual.conf  创建文件  (在指定目录下)  
  2. NameVirtualHost 172.16.34.2:80  添加主机ip  
  3. <VirtualHost 172.16.34.1:80>  
  4.         ServerName hello.magedu.com  网站名  
  5.         DocumentRoot "/www/magedu.com"  网站路径  
  6.         CustomLog /var/log/httpd/magedu.com/access_log combined   网站产生日志  
  7. </VirtualHost>  
  8.  
  9. <VirtualHost 172.16.34.2:80>  
  10.         ServerName www.a.org  
  11.         DocumentRoot "/www/a.org" 
  12.          CustomLog /var/log/httpd/a.org/access_log combined  
  13.          <Directory "/www/a.org">  添加密码  
  14.             Options none  
  15.            AllowOverride authconfig  
  16.            AuthType basic  
  17.            AuthName "Restrict area." 
  18.            AuthUserFile "/etc/httpd/.htpasswd" 
  19.            Require valid-user  
  20.         </Directory>  
  21. </VirtualHost>  
  22.  
  23. <VirtualHost 172.16.34.2:80>  
  24.         ServerName www.d.gov  
  25.         DocumentRoot "/www/d.gov" 
  26.        CustomLog /var/log/httpd/d.gov/access_log combined  
  27. <Directory "/www/d.gov">  限制用户登录  
  28.        Options none  
  29.        AllowOverride none  
  30.        Order deny,allow  
  31.        Deny from 192.168.0.232()  
  32.        </Directory>  
  33.        </VirtualHost>  
  34.  
  35. <VirtualHost 172.16.34.1:8080>  
  36.         ServerName www.b.net  
  37.         DocumentRoot "/www/b.net" 
  38. </VirtualHost>  

 

以上的命令中分别实验了基于端口的80及8080 ,基于ip地址的34.1及34.2;和基于主机名的www.a.orgwww.d.gov
[root@localhost conf.d]# mkdir /www/b.net   分别创建指定目录 (在指定目录下编辑演示网页,网站名必须是index.html)
[root@localhost conf.d]# vim /www/b.net/index.html          编辑创建演示网页
[root@localhost conf.d]# service httpd restart
Stopping httpd:                                            [ OK ]      重新启动服务

 

  1. [root@localhost conf.d]# tail /var/log/httpd/error_log 查看错误日志                     
  2.     [root@localhost conf.d]# tail /var/log/httpd/access_log  查看正确日志信息  
  3. [root@localhost conf.d]# ll -d /var/log/httpd 查看权限/  
  4. drwx------ 2 root root 4096 Apr  5 15:26 /var/log/httpd/  
  5. [root@localhost conf.d]# cd /var/log/httpd/  
  6. [root@localhost httpd]# mkdir a.org magedu.com d.gov     创建日志目录  

 

通过以上命令的使用就可以用来创建一个虚拟目录了,其中实现了3种,还设定了限制用户登录方式、为指定用户添加登录密码、创建日志系统。