httpd虚拟主机配置的简单介绍

admin 25 2022-11-25

本文目录一览:

httpd简介

httpd具有以下特性:

其中并行处理模式MPM(多路处理模块)包含了三种运行模式。分别为prefork、worker和event。

profork是一个两级进程模型,父进程管理子进程,每个进程响应一个请求。由一个主进程负责生成多个子进程以及回收子进程、创建套接字、接收请求,并将请求派发给某个子进程进行处理。每个子进程只负责处理一个请求。其工作模型:预先生成几个空闲进程,等待用于响应用户请求,设定最大空闲和最小空闲;所有已建立的套接字由客户端进程和服务期端子进程进行通信,一旦出现空闲,会回收子进程。

特点:进城之间完全独立,无需担心线程安全问题。但进程占用的系统资源较多,在处理高并发请求时无法快速处理。

其在httpd2.2为的配置:

worker是一个三级结构、多进程多线程的模式,其在启动时也预先fork了几个子进程,每个子进程能够生产若干个服务线程和若干个监听线程,每个服务线程处理一个请求,监听线程负责接入请求并将其传递给服务线程处理和应答。线程比起进程会更轻量,因为线程通常会共享父进程的内存空间,因此内存的占用会减少些,在高并发的场景下表现比prefork模式更好。其工作模型:

worker模式的特点:线程比起进程会更轻量级,因此占用用内存少,处理高并发请求时性能更好。但是当一个线程出现问题的时候会导致同一进程下的线程也会出现问题。在keep-alive长连接的方式下,某个线程会被一直占用,即使中间没有请求,也需要等待到超时才会被释放。

在httpd2.2中的配置

event是一个事件驱动模型,是一个两级结构的多进程模型,父进程管理子进程,子进程通过event-driven机制直接响应多个请求。event模式解决了在keep-alive模式下,线程被长期占用直到超时,从而导致资源浪费的问题。

在event模块中,有一个专门的线程来管理这些keep-alive类型的线程,当接收到真实的请求时,会将请求传递给服务线程,执行完毕后,会将对应的服务线程释放,这样就能实现线程的异步非阻塞。

在httpd2.2中的配置:

示例 :

Centos6系统下实现httpd-2.2的安装,并分别实现prefork、worker、event等几种工作方式.

1、centos6上安装装httpd-2.2

prefork模式

实现prefork模式。httpd的默认运行模式为prefork,查看其运行模式为:

在/etc/httpd/conf/httpd.conf文件中查看prefork的设置

启动httpd服务并查看相关进程状态:

修改/etc/httpd/conf/httpd.conf中的prefork配置

重启httpd服务并常看进程状态:

worker模式

修改配置文件/etc/sysconfig/httpd配置文件,将文件中HTTPD=/usr/sbin/httpd.worker这一句取消注释。然后重启服务查看进程状态。

然后修改/etc/httpd/conf/httpd.conf文件中的worker配置

event模式

修改配置文件/etc/sysconfig/httpd配置文件,将文件中HTTPD=/usr/sbin/httpd.worker这一句修改为HTTPD=/usr/sbin/httpd.event。然后重启服务查看进程状态。

修改配置文件/etc/httpd/conf/httpd.conf,添加evnet配置

查看进程状态

一次完整的http请求处理过程:

在一次完整的http请求过程中,会出现两种报文,分别是http的请求报文request和http的响应报文response。

以上各字段的含义:

http协议的请求方法共有以下7中

状态响应码是http请求处理返回的结果状态标识,属于响应报文中的内容,熟知常见的状态响应码能帮助我们快速定位故障及进行相应的排错,状态码的类型大体可分为下面几类:

常用的状态码:

httpd服务的主配置文件/etc/httpd/conf/httpd.conf。此文件内容通常以下三大部分组成:

除主配置稳健以外,其余的相关配置文件包括:

这些配置文件在httpd2.4中通常在主配置文件中通过 IncludeOptional conf.d/*.conf 、 Include conf.modules.d/*.conf 进行调用响应目录下的配置文件。路径为相对路径,其根目录由主配置文件中的Serverroot进行设定。

在主配置文件中,修改httpd服务监听IP和接口的格式为:

注意:

示例:

持久链接是指tcp连续建立后,每个资源获取完成后不全断开连接,而是继续等待其它资源请求的进行。对并发访问量较大的服务器,长连接机制会使得后续某些请求无法得到正常响应;此时,设置较短的持久连接时长,以及较少的请求数量来缓解。具体设置如下:

示例:

在httpd服务的主配置文件中,“'Main' server”部分,定义web文档路径映射。

常用的站点访问控制即只有两种:一种是基于文件系统路径的访问控制机制;另一种是基于URL的站点访问控制机制。两者可同时设置

基于文件系统路径:

1、基于源地址实现访问控制,在此设置的目录下所有文件都遵循此处的指令设置。格式为:

2、针对单个文件实现访问控制。其格式为:

3、DSO动态共享对象机制

在/etc/httpd/conf/httpd.conf主配置文件中使用配置指令实现模块加载:

模块文件路径可使用相对路径:相对于ServerRoot(默认为/etc/httpd)

例如:

4、根据模式匹配到的文件实现访问控制。正则表达式要启用引擎,因此建议不使用;其格式为:

基于URL路径:

定义URL的目录,表示在此设置的目录下所有文件都遵循此处的指令设置;

"Directory"中各选项的参数

示例

新建/web/html目录,编辑修改httpd服务,使其能够web访问/web/html目录下的index.html目录文件:

httpd的虚拟主机是利用httpd自带的VirtualHost功能来实现的。一个httpd服务器上配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。虚拟主机的配置方式为:

在/etc/httpd/conf/httpd.conf主配置文件中修改,或者在//etc/httpd/conf.d/*.conf目录下新建配置文件。

httpd虚拟主机有三种实现方式:

1、基于IP方式的实现:需要给每个虚拟主机设置至少一个IP地址。

示例:

利用virtualhost基于IP的方式实现/var/www/html目录和/web/html目录下的网页文件的同时访问

2、基于port的方式实现:需要为每个虚拟主机使用至少一个独立的port。

示例:

基于port的方式实现/var/www/html目录和/web/html目录下的网页文件的同时访问。

3、基于FQDN的方式实现:为每个虚拟主机使用至少一个FQDN。其配置方式为:如果是httpd-2.2,需要在配置文件中添加 NameVirtualHost IP:PORT

示例:

修改window系统的hosts文件,并测试

基于用户的访问控制是通过http协议自身的认证来实现的。http协议的认证有两种方式:

由于并不是所有浏览器都支持摘要认证,所以一般使用较多的是basic认证方式。其设置过程如下:

1、用htpasswd命令生成提供账号和密码存储的文本文件

htpasswd

语法 :

选项:

设置过程:

2、编辑配置文件,设置用户认证,然后重启httpd。配置文件既可以是修改主配置文件/etc/httpd/conf/httpd.conf,也可以在/etc/httpd/conf.d/文件加下新建配置文件。

访问服务器测试

有大量用户需要认证时,可使用基于域的认证方式,把用户加入到域中,将用户划分为相应的域组,并根据域组来做相应的访问控制。

1、先创建域组文件:

2、修改配置文件,然后重启服务,登陆访问测试:

Apache怎么配置虚拟主机

1. 假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP:

[root@localhost root]# ifconfig eth0:1 192.168.1.11

[root@localhost root]# ifconfig eth0:2 192.168.1.12

[root@localhost root]# ifconfig eth0:3 192.168.1.13

2. 修改hosts文件,添加三个域名与之一一对应:

192.168.1.11

192.168.1.12

192.168.1.13

3. 建立虚拟主机存放网页的根目录,如在/www目录下建立test1、test2、test3文件夹,其中分别存放1.html、2.html、3.html

/www/test1/1.html

/www/test2/2.html

/www/test3/3.html 需要虚拟主机租用可以看下,傲龙网络。

如何配置 Apache 的虚拟主机

打开httpd.conf文件

去掉LoadModule vhost_alias_module modules/mod_vhost_alias.so

这句前面的#号

Include conf/extra/httpd-vhosts.conf这句前面的#号

Include conf/extra/httpd-vhosts.conf这句在httpd.conf文件底部

然后打开Apache2.2\conf\extra下的httpd-vhosts.conf文件,加入如下代码

#配置自己的虚拟主机

VirtualHost *:80

#网站目录,如果在www目录下的php目录,下面 #就填写F:/www/php

DocumentRoot "D:/WALP/www"

#域名

ServerName

#这里配置欢迎首页面

DirectoryIndex index.html index.htm index.php

Directory /

Options FollowSymLinks

#不允许别人修改我们的页面

AllowOverride None

#设置访问权限

order allow,deny

Allow from all

/Directory

/VirtualHost

把ServerName改成你自己的,最后重启Apache。

关于httpd虚拟主机配置和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

上一篇:江苏企业网站建设(企业网站 建设)
下一篇:虚拟电脑(虚拟电脑软件)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~