详解CentOS装备和办理web效劳-Apache51CTO博客 - 千亿集团

详解CentOS装备和办理web效劳-Apache51CTO博客

2019年03月09日12时35分04秒 | 作者: 迎夏 | 标签: 效劳,装备,拜访 | 浏览: 1722

详解CentOS装备和办理web效劳-Apache

 

家住海滨喜爱浪:zhang789.blog.51cto.com

 

目录
  • 1、web介绍

  • 2、web前史和作业原理

  • 3、http恳求流程

  • 4、关于Apache

  • 5、Apache效劳器软件装置运用

  • 6、符号链接和虚拟目录

  • 7、页面重定向

  • 8、Apache日志文件

  • 9、Apache安全装备

  • 10、虚拟主机

    • 10.1、依据IP

    • 10.2、依据域名

    • 10.3、依据端口    

web效劳器装备和办理http协议简介

http协议,全称HyperText Transfer Protocol,中文称号超文本传输协议,是互联网运用最为广泛的一种网络协议,一切的www都有必要恪守这个规范,规划http开端的意图为了供给一种发布和接纳HTML(一种页面符号言语)

web效劳器介绍

万维网又称web(world wide web,www),是在internet上以超文本为根底构成的信息网,用户能够经过阅读器能够拜访web效劳器上面的信息资源

web效劳的前史和作业原理web效劳的前史

Internet上最抢手的效劳之一就是万维网,它是因特网上以超文本为根底构成的信息网,用户能够经过查阅Internet上的信息资源,例如:平常上网运用阅读器拜访网站信息的最常见运用。


web在1989年起源于欧洲的一个国家核能源研讨院中,因为跟着研讨的深化和开展,研讨院的文件越来越多,并且人员活动十分大,要找到相关的材料是十分困难的,所以一个科学家就提出这样的一个主张,咋效劳器上维护一个目录,目录的链接指向每个人的文件,每个人维护自己的文件,确保他人拜访的时分总是最新的文档,这个主张得到了采用并不断的完善后,终究构成现在Internet上最常见的www效劳

web的作业原理

web体系是客户端/效劳端的C/S架构,所以有用劳器端端和客户端程序两个部分,常用的效劳器端软件有Apache,IIS,nginx等,常见的客户端阅读器有IE,Mozilla等,用户在阅读器地址栏中输入资源定位地址(URL)来拜访web页面


web页面是以超文本符号言语(HTML)进行编写,它是文本不在是传统的册页办法文本,而是能够在阅读器上面从一个页面跳转到另一个页面,运用HTML言语编制的web除了文本意外还能够嵌入视频,音乐,图象等

阅读一个页面时,(比方http://www.baidu.com/index.html)阅读器会向效劳器www.baidu.com发送一条HTTP恳求,效劳器会去寻觅所期望的目标(在这个比如就是/index.html),假如发送成功,就将目标,目标类型,目标长度以及其他一些信息放在http呼应中发给客户端

[root@localhost ~]# curl -I www.baidu.com
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Thu, 06 Oct 2016 07:23:46 GMT
Content-Type: text/html
Content-Length: 277
Last-Modified: Mon, 13 Jun 2016 02:50:09 GMT
Connection: Keep-Alive
ETag: "575e1f61-115"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Accept-Ranges: bytes
http协议恳求原理进程图

一次完好的Http恳求处理进程:

        (1) 树立或处理衔接恳求;
       (2) 接纳恳求;
       (3) 解析恳求,处理恳求;
       (4) 加载用户恳求的资源;
       (5) 构建呼应报文;
       (6) 发送呼应报文;
       (7) 记载拜访于日志中;
拜访过错呼应码
            1xx:
           2xx: 成功呼应
           3xx: 重定向呼应
           4xx: 客户端过错
           5xx: 效劳端过错
闻名Web效劳

某个网站计算的web软件排名

Windows体系中默许Web效劳程序是IIS(Internet Information Services),这是一款图形化的网站办理东西,IIS程序不光能供给Web网站效劳,还能够供给FTP、NMTP、SMTP等效劳功用,但只能在Windows体系中运用。


nginx——开端于2004年为俄罗斯闻名门户站点而开发的,作为一款轻量级的网站效劳软件,因其安稳性和丰厚的功用而深受信任,但最最最被认可的是低体系资源、占用内存少且并发能力强,现在国内如新浪、网易、腾讯等门户站均运用。


Apache——取自美国印第安人土著语Apache,涵义着具有高明的作战战略和无量的耐性,因为其跨渠道和安全性广泛被认可且具有快速、牢靠、简略的API扩展。现在具有很高的Web效劳软件商场占用率,全球运用最多的Web效劳软件,开源、跨渠道(可运转于Unix,linux,windows中)。


Tomcat——归于轻量级的Web效劳软件,一般用于开发和调试JSP代码,一般以为Tomcat是Apache的扩展程序。

关于Apache效劳

Nginx程序作为Web效劳软件届的后起之秀现已经过本身的尽力与优势赢得了大批站长的信任,不得不说真的很棒!可是Apache程序作为老牌的Web效劳软件因其杰出的安稳性与安全性成为了红帽RHEL7体系中默许的网站效劳软件,相同也是红帽RHCSA与RHCE考试认证中避不开的考题。

Apache简介

Apache是一种开源的httpd效劳器软件,能够在UNIX、Linux以及Windows在内的大多数干流计算机操作体系体系上面运转,Apache是由Illinois大学Urbana-Champaign的国家高档计算机程序中心开发,它的姓名取自apatchy server 的读音,即充溢补丁的效劳器,可见在开端的时分该程序并不是十分完善

Apache长处

但因为Apache是开源软件,所以得到开源社区的支撑,不断开发出新的功用特性,并修补了本来的缺点,经过多年不断的完善,现在的Apache现已是最盛行的web效劳端软件之一Apache具有以下很多的特性,确保了它能够高速安稳的运转

支撑一切的计算机渠道
简略有用的装备文件
支撑虚拟主机
支撑多种办法的http认证
集成Perl脚本言语
集成代理效劳器模块
支撑实时监督效劳器状况和定制效劳器日志
支撑效劳器端包含指令
支撑Php
支撑第三方软件开发商供给的软件
Apache模块化
Apache效劳器的装置运用httpd相关软件及装置
httpd-2.2.15-29.el6_4.x86_64.rpm                //效劳端主程序包,效劳器运转中心软件包
httpd-devel-2.2.15-29.el6_4.x86_64.rpm          //apache开发程序包,如开发附加模块的时分需求此软件
httpd-manual-2.2.15-29.el6_4.noarch.rpm     //Apache手册文档
httpd-tools-2.2.15-29.el6_4.x86_64.rpm          //一同apache的东西,如htpasswd
apr-devel-1.3.9-5.el6_2.x86_64.rpm              //装置httpd-devel的时分的依靠包
apr-util-devel-1.3.9-3.el6_0.1.x86_64.rpm           //装置httpd-devel的时分的依靠包
expat-devel-2.0.1-11.el6_2.x86_64.rpm           //装置httpd-devel的时分的依靠包
装置Apache

Linux根本都自带Apache软件

[root@localhost ~]# ls /mnt/Packages/ | grep "httpd"
httpd-2.2.15-53.el6.centos.x86_64.rpm
[root@localhost ~]# yum install -y httpd httpd-manual
[root@localhost ~]# yum install -y elinks  //这是一个字符界面阅读器 运用办法 “elinks 域名”
[root@localhost ~]# service httpd restart          //效劳发动
[root@localhost ~]# chkconfig httpd on         //效劳开机发动
[root@localhost ~]# netstat -antup | grep 80       //发动是否成功,查看端口是否敞开
相关文件
[root@localhost ~]# ls /etc/httpd/                 //apache作业目录,装备文件目录
[root@localhost ~]# ls /etc/httpd/conf/httpd.conf          //yum或rpm办法装置的装备文件方位
[root@localhost ~]# ls /etc/httpd/conf.d/          //这个是默许httpd.conf里边include方位
[root@localhost ~]# ls /var/log/httpd/                 //默许日志目录
[root@localhost ~]# ls /var/log/httpd/access_log           //默许拜访日志
[root@localhost ~]# ls /var/log/httpd/error_log            //默许过错日志
[root@localhost ~]# ls /var/www/html/                  //默许网站根目录
[root@localhost ~]# ls /etc/httpd/modules/             //apache库文件,模块文件目录
[root@localhost ~]# ls /etc/httpd/run/httpd.pid            //apache运转的进程pid
[root@localhost ~]# ls /var/www/manual/                    //apache手册也,需求装置httpd-manual
查看Apache的相关信息查看Apache软件版别信息
[root@localhost ~]# httpd -V
Server version: Apache/2.2.15 (Unix)
Server built:   May 11 2016 19:28:33
Servers Module Magic Number: 20051115:25
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Prefork
 threaded:     no
   forked:     yes (variable process count)
查看现已被编译的模块
[root@localhost ~]# httpd -l
Compiled in modules:
 core.c
 prefork.c
 http_core.c
 mod_so.c
httpd.conf主装备文件的解说
ServerTokens OS                     #回来操作体系类型,如apache/2.0.54(unix)
ServerRoot "/etc/httpd"             #效劳器装备文件目录
ServerName 192.168.1.235:80     #效劳器主机名
PidFile run/httpd.pid               #apache运转进程ID寄存
Timeout 60                          #超时时刻,多少s没有反应就超时
KeepAlive Off                       #是否答应一个永久的链接,设置为OFF的时分,不能坚持衔接功用,传输功率比较低,设置为ON时,能够进步效劳器传输文件的功率,主张敞开
MaxKeepAliveRequests 100        #设置KeepAlive为ON时,设置客户端每次衔接答应恳求相应最大文件数,默许100个
KeepAliveTimeout 15                 #超时时刻,同一个客户端下一个恳求15s没收到就超时
Listen 80                          #监听端口,默许本地IP,假如指定ip写上IP:80
<IfModule prefork.c>
StartServers       8               #效劳开端起发动8个进程
MinSpareServers    5                #最小闲暇5个进程
MaxSpareServers   20                #最多闲暇20个进程
ServerLimit      256              #效劳器答应装备进程数上线
MaxClients       256                #最大衔接数256,超越要进入等候行列
MaxRequestsPerChild  4000       #每个进程生计期内效劳最大的恳求数量,0标明用不完毕
</IfModule>
<Directory />
   Options FollowSymLinks          #Options Indexes 目录阅读  FollowSymLinks用衔接阅读
   AllowOverride None          #设置为none,疏忽.htaccess
</Directory>
LoadModule auth_basic_module modules/mod_auth_basic.so          #载入的库,模块
● ● ● ● ● ●
Include conf.d/*.conf               #conf.d里边的conf文件也属有用装备文件
User apache                         #apache运转以哪个身份运转
Group apache                        #apache运转以哪个组的身份运转
ServerAdmin root@localhost          #办理员邮箱
DocumentRoot "/var/www/html"        #默许的主目录,假如改动要改动两处,Directory
<Directory "/var/www/html">
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny                #这儿默许后者收效,也就是deny收效
   Allow from all                      #这儿说答应一切
</Directory>
LogLevel warn                               #日志等级
DirectoryIndex index.html index.html.var        #主页
AccessFileName .htaccess                        #access文件名
AddDefaultCharset UTF-8                     #支撑的言语,默许编码
#装备文件的最终是虚拟主机的字段,其间你大部分字段做个了解即可,用到的时分去查即可
检测装备文件语法
[root@localhost ~]# cat /etc/httpd/conf/httpd.conf | grep "^Listen"            //修正web端口为55667
Listen 55667
[root@localhost ~]# apachectl configtest
httpd: Could not reliably determine the servers fully qualified domain name, using localhost.localdomain for ServerName
Syntax OK
[root@localhost ~]# service httpd reload           //牢记http效劳不能够随意重启,修正装备文件要从头载入装备文件
Reloading httpd:

创立一个测验主页
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# echo "<h1>zhang789.blog.51cto.com</h1>" >> index.html
[root@localhost html]# ll
total 4
-rw-rr 1 root root 33 Oct  6 09:06 index.html

符号链接和虚拟目录

DocumentRoot的参数是指定web发布文档的主目录,在默许状况下,用户经过http拜访web效劳器阅读的一切材料都是存在该目录下,该参数只能设置一个目录作为参数值,那么是不是在Apache中就能有一个目录寄存文档文件呢?假如文档根目录空间缺乏,要放到其他的文件体系中应该怎么办,

符号链接

例如:/var/www/html/doc这个目录,期望吧/usr/share/doc目录映射成/var/www/html/doc,装备就是一个软衔接就行

[root@localhost html]# ln -s /usr/share/doc/ doc
[root@localhost html]# ll
total 4
lrwxrwxrwx 1 root root 15 Oct  6 09:49 doc -> /usr/share/doc/
-rw-rr 1 root root 33 Oct  6 09:06 index.html

虚拟目录(别号)

运用虚拟目录是另一种将根目录以外的内容参加站点中的办法,下面举一个简略的比如,把/var/log目录映射成网站根目录下的/log下 
1、翻开httpd.conf文件,增加如下内容

Alias /log "/var/log"
<Directory "/var/log/">
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

2、重载httpd效劳,然后拜访加资源URL/log途径

页面重定向

假如用户常常拜访某个网站的网页,他很可能会把页面的URL增加到收藏夹,在每次拜访网站的时分,能够直接点击收藏夹的记载拜访,可是假如网站进行了目录架构的更改,用户再运用本来的URL拜访时就会呈现404页面无法找到的过错,为了便利用户能够运用本来的URL进行拜访,这时就需求页面重定向了

假定网站有一个doc目录,现在办理员要对网站的目录结构就行收拾,并把/doc目录移动到/old-doc目录下,假如用户仍是拜访本来的URL就会呈现404的过错,

1、翻开httpd.conf装备文件,增加如下内容

Alias /old-doc "/usr/share/doc"
<Directory "/usr/share/doc">
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>
#指定当用户拜访/doc目录遇到404过错主动重定向到http://192.168.211.128:55667/old-doc
Redirect 303 /doc http://192.168.211.128:55667/old-doc

2、重载httpd效劳 
3、运用阅读器再次拜访

Apache日志文件

Apache运转会生成两个日志文件,access_log(拜访日志)error_log(过错日志)

[root@localhost httpd]# pwd
/var/log/httpd
[root@localhost httpd]# ls
access_log  error_log
1、拜访日志文件

Apache的拜访日志就是记载web效劳器的一切拜访活动(如下图)

从文件内容能够看出,每一行都记载了一次拜访记载,由7个部分组成

192.168.211.1 - - [06/Oct/2016:10:23:26 +0800] "GET /old-doc/ HTTP/1.1" 200 149404 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"
//客户端地址、拜访者的标明、拜访者的验证姓名、恳求的时刻、恳求类型、恳求的http代码、发送给客户端的字节数

7部分详细阐明 
客户端地址:标明拜访网站的客户端IP地址 
拜访者的标明:该项一般为空白,用“-”替代 
拜访者验证的姓名:该项用于记载拜访者进行身份验证时供给的姓名,一般状况下该项也为空白 
恳求的时刻:记载拜访操作的发作时刻 
恳求类型:该项记载了效劳器收到是一个什么类型的恳求,一般类型包含GET、post、HEAD 
恳求的代码:经过该项信息能够知道恳求是否成功,遇到了什么样的问题过错,正常状况下,为200 
发送给客户端的字节数:标明发送给客户端的总的字节数,经过查看该数值是否和文件巨细相同,能够知道传输是否被中止

2、过错日志

过错日志是Apache供给的别的一种规范日志,该日志记载了Apache效劳运转进程发作的过错日志,httpd.conf装备文件中供给了一下两个装备参数:

ErrorLog logs/error_log
LogLevel warn

它们别离用于装备过错日志的方位和日志的等级 
日志的等级阐明

严峻程度     等级     阐明
1           emerg   体系不能够用
2           alert   需求当即引起留意的状况
3           crit    危急状况
4           error   过错信息
5           warn    正告信息
6           notiee  需求引起留意的状况
7           info    一般信息
8           debug   由运转于debug形式的程序输出的信息

emerg等级的信息最为严峻,debug等级最低,假如用户吧过错日志设置成warn等级,则严峻程度由1-5会被记载下来

从文件内容能够看出,每一行记载了一个过错,由3个部分组成, 
时刻 过错等级 过错信息

[Thu Oct 06 10:22:24 2016] [error] [client 192.168.211.1] Directory index forbidden by Options directive: /usr/share/doc/

第一个括号是过错发作的时刻 2016年10月06 10:22:24 
第二个是过错等级:error 
第三个是过错的内容:[客户192.168.211.1]目录索引选项制止指令:/usr/share/doc/

Apache安全装备

Apache供给了多种装置操控手法,包含web拜访操控,用户登录暗码设置及.htaccess文件

拜访操控

拜访操控是进步apache效劳器安全等级的最有用的手法之一,看下Diertory段,Diertory段用于设置与目录相关的参数和指令,包含拜访操控和认证

<Diretory 目录的途径> 
           目录相关的装备参数和指令
</Diretory>

每个Diretory段以<Diretory>开端</Diretory>完毕,<Diretory>指定目录及其里边的一切文件和子目录,在段中能够设置与目录相关的参数和指令,包含拜访操控和认证

<Directory "/var/www/icons">
   Options Indexes MultiViews FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

1、Allow 指令 
Allow指令用于设置那些客户端能够拜访Apache

Allow for [All/全域名/部分域名/ip地址/网络地址/cidr地址。。。]

all标明一切客户端 
全域名:标明域名对应的客户端 www.baidu.com 
部分域名:标明域内的一切客户端 baidu.com 
IP地址:如172.16.2.1 
网络地址:如192.168.1.0/256.356.355.0 
CIDR地址:172.16.20.0/24

2、Deny指令 
Deny指令用户设置回绝那些客户端拜访Apache,格局和Allow相同

3、Order指令 
Order指令用于指定拜访规矩的先后顺序,有一下两种

Order Allow,Deny;先履行答应拜访规矩,在履行回绝拜访规矩
Order Deny,Allow;  先履行回绝拜访规矩,在履行答应拜访规矩

实例: 
现在,假定网站中一个logo目录,是登录网站后台的目录,所以网站办理员期望该目录只能由该网站办理员拜访(192.168.211.1),其他都不能拜访

1、翻开httpd.conf装备文件增加如下内容

<Directory "/var/www/html/log">
   Options Indexes FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
   Allow from 192.168.211.1
</Directory>
httpd: Could not reliably determine the servers fully qualified domain name, using localhost.localdomain for ServerName
Syntax OK
[root@localhost httpd]# service httpd reload
Reloading httpd:

用户认证

Apache的用户认证办法包含根本(Basic)认证和摘要(Digest)认证两种,摘要认证比根本认证愈加安全,但有单个阅读器不支撑,根本认证很简略,当用户在阅读器输入认证形式的URL时分,会弹出一个对话框,要求输入账户暗码,当用户输入后,web效劳验证他的正确性,假如正确,则回来页面,过错则回来401页面

要运用用户认证,首先要创立好用户名和暗码,在Apache中供给htpasswd指令用于创立和修正暗码文件,该指令在<apache 装置目录>/support目录下

要在/etc/httpd/conf/下创立一个名为users的认证暗码文件,并在暗码文件增加sam用户

[root@localhost ~]# htpasswd -c /etc/httpd/conf/users sam
New password:
Re-type new password:
Adding password for user sam

认证暗码文件创立后,假如再向users文件增加一个ken的用户 不加-C

[root@localhost ~]# htpasswd /etc/httpd/conf/users ken
New password:
Re-type new password:
Adding password for user ken

与/etc/passwd文件相似,认证暗码都是一行一个

[root@localhost ~]# cat /etc/httpd/conf/users 
sam:fGNODsapTMn72
ken:8HenVGxWHKF8A
用户名:加密后的暗码

htpasswd没有删去账户指令,直接在装备文件里边删去

创立完结认证暗码后,还要对装备文件进行修正,用户认证是在httpd.conf装备文件中<Directort>段中进行设置

事例: 
现在网站办理员为了愈加安全,加强操控,对log目录经过sam用户认证才干拜访

1、在httpd.conf装备文件增加如下内容

<Directory "/var/www/html/log">
   Options Indexes FollowSymLinks
   AllowOverride None
   AuthType Basic      //设置认证的办法    
   AuthName "doc"    //设置维护区域的称号
   AuthUserFile /etc/httpd/conf/users   //认证暗码的文件
   require user sam    //指定那些用户能够进行拜访
   Order deny,allow
   Deny from all
   Allow from 192.168.211.1
</Directory>

2、检测语法,重载效劳

[root@localhost ~]# apachectl configtest
httpd: Could not reliably determine the servers fully qualified domain name, using localhost.localdomain for ServerName
Syntax OK
[root@localhost ~]# service httpd reload
Reloading httpd:
[root@localhost ~]#

虚拟主机

虚拟主机就是指将一台物理效劳器虚拟多台web效劳器,能够有用的节约硬件资源,Apache支撑依据IP地址或主机名的虚拟机效劳

虚拟主机的介绍

虚拟主机就是将一台物理效劳器虚拟成多台web效劳器,关于一些小规模的网站,经过web虚拟主机技能、能够跟其他网站同享一台效劳器,有用削减体系的运转本钱, 
比方说,一家从事web保管的公司,他为企业供给web效劳,那么他必定不会为每个企业预备一台物理效劳器,


Apache供给3中虚拟主机计划:依据IP的虚拟主机效劳依据主机名的虚拟主机依据端口的虚拟主机

依据IP的虚拟主机

依据IP的虚拟主机,效劳上面有必要设置多个IP地址,效劳器依据恳求意图的IP地址来判别恳求的是哪个虚拟主机

Apache中是经过httpd.conf装备文件的<VirtualHost>段来装备虚拟主机效劳的

<VirtualHost IP地址:主机名[:端口] IP地址:主机名[:端口]...>
   虚拟主机的相关装备参数和指令
<VirtualHost>

事例: 
假定一台效劳器上面有两个IP地址,别离为192.168.211.128和192.168.211.130,对应www.server1.com和www.server2.com,现在要依据这两个IP地址来完成虚拟主机 
当客户端拜访192.168.211.128拜访/var/www/html/server1 
当客户端拜访192.168.211.130拜访/var/www/html/server2

问题: 
假如效劳器只要一个网卡,能够经过单网卡装备多IP来模仿

1、在/var/www/html/server1和server2下,别离生成index.html文件

[root@localhost html]# mkdir server{1,2}
[root@localhost html]# ls
index.html  log  loganalyze  old-doc  server1  server2
[root@localhost server1]# cat index.html
<HTML>
<HEAD>
<TITLE> 依据IP的虚拟主机测验 </TITLE>
</HEAD>
<BODY>
依据IP的虚拟主机测验:<FONT SIZE="6">www.server1.com</FONT>
</BODY>
</HTML>

为了办理便利在/etc/httpd/conf.d/下面创立一个vhost.conf(在httpd.conf主装备里边有指定,conf.d/*.conf都是可收效的文件)

[root@localhost conf.d]# vim /etc/httpd/conf.d/vhost.conf
<VirtualHost 192.168.211.128>
ServerAdmin     admin@zabbix.com
DocumentRoot    /var/www/html/server1
       <Directory"/var/www/html/server1">
            AllowOverride none
            Allow from all
            Order Allow,deny  
       </Directory>
       ErrorLog /log/httpd/vhost_log/error_server1.log
</VirtualHost>
<VirtualHost 192.168.211.130>
ServerAdmin     admin@zabbix.com
DocumentRoot    /var/www/html/server2
       <Directory"/var/www/html/server2">
            AllowOverride none
            Allow from all
            Order Allow,deny  
       </Directory>
       ErrorLog /log/httpd/vhost_log/error_server2.log
</VirtualHost>

重载Apache效劳拜访

 

依据主机名的虚拟主机(域名)

大多数物理机IP有限,依据IP这种办法太糟蹋IP资源了,更多的都是运用依据域名的虚拟主机效劳

http1.1协议中,增加了对主机名的虚拟主机效劳的支撑,详细的说,当客户端向web效劳器发送恳求时,客户端想要拜访的主机名也经过恳求头中的Host句子传递给web效劳器,web效劳器接受到这个恳求后,经过查看Host言语来判别客户端恳求的是哪个虚拟主机

与依据IP地址虚拟主机的装备办法不同,用户有必要在conf装备文件运用NameVirtualHost参数 
NameVirtualHost IP地址/主机名[:端口]

NameVirtualHost 192.168.211.128
<VirtualHost 192.168.211.128>
ServerName      www.server1.com
DocumentRoot    /var/www/html/server1
       <Directory "/var/www/html/server1">
            AllowOverride none
            Allow from all
            Order Allow,deny  
       </Directory>
       ErrorLog /log/httpd/vhost_log/error_server1.log
</VirtualHost>
NameVirtualHost 192.168.211.130
<VirtualHost 192.168.211.130>
ServerName      www.server2.com
DocumentRoot    /var/www/html/server2
       <Directory "/var/www/html/server2">
            AllowOverride none
            Allow from all
            Order Allow,deny  
       </Directory>
       ErrorLog /log/httpd/vhost_log/error_server2.log
</VirtualHost>

查看装备语法,重载httpd效劳

依据端口的虚拟主机

在同一IP,同一主机名下,运用监听不同端口,拜访时需求加拜访的端口。运用不多,一般用来做内网测验运用 
装备文件

<VirtualHost 192.168.211.128:80>
ServerName      www.server1.com
DocumentRoot    /var/www/html/server1
       <Directory "/var/www/html/server1">
            AllowOverride none
            Allow from all
            Order Allow,deny  
       </Directory>
       ErrorLog /log/httpd/vhost_log/error_server1.log
</VirtualHost>
Listen 8080             //增加监听端口
<VirtualHost 192.168.211.128:8080>
ServerName      www.server2.com
DocumentRoot    /var/www/html/server2
       <Directory "/var/www/html/server2">
            AllowOverride none
            Allow from all
            Order Allow,deny  
       </Directory>
       ErrorLog /log/httpd/vhost_log/error_server2.log
</VirtualHost>

重载效劳

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    从windows ftp上传utfITeye

    编码,文件,指令
  • 3
  • 4

    awk用法ITeye

    匹配,分隔符,变量
  • 5
  • 6
  • 7

    没什么ITeye

    体系,计算机,办理
  • 8
  • 9

    (三)apache装置ITeye

    装置,装备,修正
  • 10

    (三)apache装置ITeye

    装置,装备,修正