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下,有可能隐藏了文件)也要分别添加其主机名)
- [root@localhost conf.d]
- NameVirtualHost 172.16.34.2:80 添加主机ip
- <VirtualHost 172.16.34.1:80>
- ServerName hello.magedu.com 网站名
- DocumentRoot "/www/magedu.com" 网站路径
- CustomLog /var/log/httpd/magedu.com/access_log combined 网站产生日志
- </VirtualHost>
-
- <VirtualHost 172.16.34.2:80>
- ServerName www.a.org
- DocumentRoot "/www/a.org"
- CustomLog /var/log/httpd/a.org/access_log combined
- <Directory "/www/a.org"> 添加密码
- Options none
- AllowOverride authconfig
- AuthType basic
- AuthName "Restrict area."
- AuthUserFile "/etc/httpd/.htpasswd"
- Require valid-user
- </Directory>
- </VirtualHost>
-
- <VirtualHost 172.16.34.2:80>
- ServerName www.d.gov
- DocumentRoot "/www/d.gov"
- CustomLog /var/log/httpd/d.gov/access_log combined
- <Directory "/www/d.gov"> 限制用户登录
- Options none
- AllowOverride none
- Order deny,allow
- Deny from 192.168.0.232()
- </Directory>
- </VirtualHost>
-
- <VirtualHost 172.16.34.1:8080>
- ServerName www.b.net
- DocumentRoot "/www/b.net"
- </VirtualHost>
以上的命令中分别实验了基于端口的80及8080 ,基于ip地址的34.1及34.2;和基于主机名的 www.a.org及 www.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 ] 重新启动服务
- [root@localhost conf.d]
- [root@localhost conf.d]
- [root@localhost conf.d]
- drwx------ 2 root root 4096 Apr 5 15:26 /var/log/httpd/
- [root@localhost conf.d]
- [root@localhost httpd]
通过以上命令的使用就可以用来创建一个虚拟目录了,其中实现了3种,还设定了限制用户登录方式、为指定用户添加登录密码、创建日志系统。