欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年配置apache虚拟主机 .pdf

    • 资源ID:30553607       资源大小:81.10KB        全文页数:8页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年配置apache虚拟主机 .pdf

    配置 apache虚拟主机通过以下文章:实现:同一ip 不同端口对应不同的站点目录具体实现:1.在 httpd.conf 中,设置 listen IP:80 listen IP:8080 然后在 virtualhost 中设置:DocumnetRoot 1 DocumnetRoot 2 我们通常所说的虚拟主机url=javascript:; 技术 /url 就是将一台(或者一组)服务器的资源(系统资源、网络带宽、存储空间等)按照一定的比例分割成若干台相对独立的“小主机”的技术。每一台这样的“小主机”在功能上都可以实现 WWW 、FTP、 Mail 等基本的Internet 服务,就像使用独立的主机一样。目前网站服务器的虚拟主机平台使用以开放的Apache 为最多,其次是微软的Windows IIS。Apache 具有跨平台( FreeBSD/Linux/Windows/Solaris/Other UNIX) 、易于维护与最佳安全性等优点。Apache 是率先支持基于IP 虚拟主机的服务器之一。Apache 1.1 及其更新版本同时支持基于 IP 和基于主机名的虚拟主机,不同的虚拟主机有时会被称为基于主机(host-based) 或非IP 虚拟主机 (non-IP virtual hosts) 。用 Apache 设置虚拟主机服务通常可以采用两种方案:基于 IP 地址的虚拟主机和基于主机名字的虚拟主机,下面我们分别介绍一下它们的实现方法以及优缺点。以便大家在具体的应用中能够选择最合适的实现方法。一、 Apache 实现基于IP 地址的虚拟主机(每个站点拥有一个独立IP 地址 ) 使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP 地址。这些 IP 地址可以通过增加多个网卡或者在一个网卡上设立多个IP 地址来完成。有了多个IP地址后,可以采用以下两种方式之一来设置Apache。1、为每个虚拟主机运行一份Apache 采用这种方式,每一份Apache 程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache 设置一套配置文件就可以了,唯一需要注意的是:必须使用“Listen”语句,强制每一份Apache 仅仅在属于“自己”的IP 地址上接收服务请求。优点:各个虚拟主机之间互不干扰,安全性高。缺点:占用系统资源较多。2、多个虚拟主机共享同一份Apache 采用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI 程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可:DocumentRoot /www/ghq1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 优点:占用系统资源比上一种方式少。缺点:安全性低,每个虚拟主机仍然需要占用一个IP 地址。例如服务器一个网卡上绑定有两个IP 地址( 172.16.3.40 和 172.16.3.50)分别对应域名 和 www.ghq2.org 的服务,配置如下:服务器配置(apache的配置文件httpd.conf )Listen 80 DocumentRoot /www/ghq1 ServerName DocumentRoot /www/ghq2 ServerName www.ghq2.org 配置简单说明: “Listen”默认httpd 服务会监控第80 号通信端口,“Listen”选项让用户自行指定apache 服务器监控的IP 地址或通信端口。“DocumentRoot” :指定 apache 服务器存放网页的根目录;“ServerName” :允许用户自行设置主机名,这个名称将被送到远程连接程序,以取代安装apache 服务器主机的真实名称。和构成虚拟主机的语法结构,其中的IP 就是我们在服务器上绑定的不同的IP 地址,也可以是IP 地址加上通信端口号(见下面的例子)。如果服务器有两个IP 地址( 172.16.3.40 和 172.16.3.50)分别对应域名和 www.ghq2.org 。对每个域名,我们都希望在80 端口和 8080 端口发布我们的网站。可以这样配置:服务器配置(apache的配置文件httpd.conf )Listen 172.16.3.40:80 Listen 172.16.3.40:8080 Listen 172.16.3.50:80 Listen 172.16.3.50:8080 DocumentRoot /www/ghq1-80 ServerName DocumentRoot /www/ghq1-8080 ServerName DocumentRoot /www/ghq2-80 ServerName www.ghq1.org DocumentRoot /www/ghq2-8080 ServerName www.ghq2.org 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 因此,建立虚拟主机,我们要做好不同的IP 对应的域名解析url=javascript:; 工作 /url ,建立相应的目录(如/www/ghq1 ) ,将相应的主页内容存放在相应的目录中即可。二、 Apache 实现基于主机名的虚拟主机服务(一个 IP 地址实现多个网站) 基于主机名字的虚拟主机服务,是目前虚拟主机比较常用的一种方案。因为它不需要更多的 IP 地址,无须什么特殊的软硬件支持。而且现在的浏览器大都支持这种虚拟主机的实现方法。基于域名的的虚拟主机是根据客户端提交的HTTP 头中的关于主机名的部分决定的。使用这种技术,很多虚拟主机可以享用同一个IP 地址。基于域名的虚拟主机相对比较简单,因为我们只需要配置DNS 服务器将每个主机名映射( CNAMES )到正确的IP 地址,然后配置Apache HTTP 服务器,令其辨识不同的主机名就可以了。基于域名的服务器也可以缓解IP 地址( IPV4)不足的问题。这种方式下,各个虚拟主机共享同一份Apache,因此有CGI 程序运行时,安全性也不高。优点:只要一个IP 地址就可以提供大量的虚拟主机服务。缺点:安全性差。维护这些虚拟主机时需要更改配置文件,并且需要重新启动Apache进程才能起作用。因此不适合进行大规模的虚拟主机服务。如果服务器只有一个IP 地址,而在DNS 中有很多映射到这个机器。我们想要在这个机器上运行 和 www.ghq2.org 两个站点。在 Apache 服务器的配置中创建一个虚拟主机并不会自动在DNS 中对主机名做相应更新。我们必须自己在DNS 中添加域名来指向我们的IP 地址。否则别人是无法看到我们的web 站点。服务器配置(apache的配置文件httpd.conf )# Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost * DocumentRoot /www/ghq1 ServerName # Other directives here DocumentRoot /www/ghq2 ServerName www.ghq2.org # Other directives here 因为 *(星号)匹配所有的地址,所以主服务器不接收任何请求。因为首先出现在配置文件中,所以它拥有最高优先级,可以认为是默认或首要服务器。这意味着如果一个接受的请求不能与某个ServerName 指令相匹配,它将会由第一个VirtualHost 所伺服。当我们的IP 地址无法确定的时候,使用* 是很方便的 -比如说,ISP 给我们配置的是动态 IP 地址(如ADSL 拨号上网),而我们有使用了某种动态域名解析系统时。因为*匹配任何 IP 地址,所以在这样的情况下,不论IP 地址如何变化,我们都不需要另外进行配置。上述配置就是我们在绝大多数情况下使用基于域名的虚拟主机时将要用到的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 关于 DNS 和 Apache 本文档的涵义一言以蔽之就是:不要让Apache 在解析配置文件的时候用到DNS 。 如果Apache 在解析配置文件时用到了DNS, 您的服务器就会发生可靠性的问题(也可能根本无法启动 ), 或者遭致拒绝(偷窃 )服务攻击 (包括用户可以从其他用户那里偷窃点击)。一个简单示例拒绝服务main server 地址避免这些问题的小技巧附录:进一步的提示一个简单示例ServerAdmin webgirlabc.dom DocumentRoot /www/abc 为了让 Apache 功能正常,一个虚拟主机绝对需要以下两部分的信息:ServerName 和与服务器对应的至少一个IP 地址。这个示例没有包括IP 地址,于是Apache 必须用 DNS 来查询 www.abc.dom 的地址。如果在某些不可预料的情况下,当您的服务器解析配置文件时没有得到 DNS 的支持,那么这个虚拟主机将不会被配置。它将不会对任何请求作出反应。(在 Apache 的 1.2 版本之前,服务器甚至无法启动)。假设 www.abc.dom 的 IP 地址是 10.0.0.1。那么看看以下这个配置片断:ServerAdmin webgirlabc.dom DocumentRoot /www/abc 现在 Apache 需要 DNS 对这个虚拟主机进行反向域名解析来确定ServerName。 如果反向解析失败,那么这将导致这个虚拟主机部分功能丧失。(在 Apache 的 1.2 版本之前,服务器将不能启动 )。如果虚拟主机是基于域名的,它将完全不能使用,但如果它是基于IP 的,那么它将很有可能工作。然而,如果Apache 不得不为一个已经包含了服务器域名的服务器产生一个完整的URL , 那么它将可能产生一个无效的URL 。以下是一个可以避免上述两个问题的配置片断. ServerName www.abc.dom ServerAdmin webgirlabc.dom DocumentRoot /www/abc 拒绝服务拒绝服务主要由(至少 )两种形式导致。如果您在运行Apache 1.2 以前的版本,在上述两种情况下,如果您的任何一个虚拟主机的DNS 解析失败,您都会无法启动服务。在一些情况下, DNS 解析甚至不在您的控制范围之内。比如说,如果abc.dom 是您的一个客户,而且他们自己控制着DNS。 那么仅仅是因为他们删除了www.abc.dom 这个记录,都会导致您的服务器 (1.2 之前的版本 )无法启动。另外一种形式就更隐蔽了。比如说下面这个配置片断:ServerAdmin webgirlabc.dom 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - DocumentRoot /www/abc ServerAdmin webguydef.dom DocumentRoot /www/def 假设您已经为www.abc.dom 设定了 10.0.0.1, 而为 www.def.dom 设定了 10.0.0.2。 更进一步,假设 自己控制DNS。在这种配置下,您已经把 放到了一个可以将所有指向 的所有流量据为己有的情况之下。为了达到这样的目的,他们只需要把www.def.dom 的地址解析设置成10.0.0.1 就可以了。因为他们控制着自己的DNS 服务,所以您无法阻止他们把 这个记录指向任何一个IP 地址。然后, 所有向 10.0.0.1 发出的请求(包括用户所有类似http: /www.abc.dom/ 任何字符的URL) 都将会为 这个虚拟主机所接收。为了更好的理解着一切是怎样发生的,您需要一个关于Apache 是怎样将进入的请求分配给它的虚拟主机的深入说明。您可以在这里发现一个完整的文档。main server 地址在 Apache 1.1 中,基于域名的虚拟主机支持需要 Apache 知道运行着httpd 的主机的IP 地址。 一般来说可以用全局变量ServerName(如果存在 ) 或者调用 C 的方法 gethostname(与在命令行模式下键入hostname得到的返回值一样)。 接着它就会利用DNS 来查找这个地址。目前还没有办法避免这样的查找。如果您担心这样的查找会因为您的DNS 服务器没有启动而遭到失败的结果,您就可以在/etc/hosts 中插入一条记录来确定主机名(此文件中应该已经存在这条记录了,否则您的机器无法正常启动 )。 然后,您要确认您的机器已经配置为当DNS 解析失败的情况下,它将会使用 /etc/hosts根据所使用的操作系统不同,您可能需要在 /etc/resolv.conf 或/etc/nsswitch.conf 两个文件中选择一个进行编辑。如果您的服务器不必因为其他理由而使用DNS, 您也许不必在把HOSTRESORDER环境变量设置为local 的情况下运行Apache。 这都取决于您所使用的操作系统和解析库。如果您没有使用mod_env 来控制环境变量,它还将影响到CGI。强烈建议您参考一下您所使用的操作系统附带的man 帮助或 FAQ。避免这些问题的小技巧在 VirtualHost 中使用 IP 地址在 Listen 中使用 IP 地址确保所有的虚拟主机拥有显式的ServerName 定义。创建一个不包含任何服务页面的服务器附录:进一步的提示涉及到 DNS 的情况都很让人不舒服。在 Apache 1.2 中,我们努力想让服务器在DNS 解析失败的情况下至少保持能够启动,但可能我们还是没能做到最好。在当今重编号成了必须的 Internet 上面,在配置文件中显式的写明IP 地址已经成为不合时宜的行为了。上述盗窃攻击的解决办法是,在一个正向的DNS 查询结果后部署一个逆向DNS 解析并将两个域名进行比较。如果不同, 就禁用相应的虚拟主机。这个方法需要一个正确配置了的逆向域名解析服务器(因为 FTP 服务器和TCP 封装进行的“双重逆向”DNS 处理的普遍应用,这已为大部分管理员所熟知了)。在某些情况下, 如果没有使用IP 地址而 DNS 解析又失败了, 那么正常启动一个基于域名的虚拟主机看来是不可能的。一些诸如禁用部分配置文件这样的权宜之计会带来比根本不能名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 启动更遭的不可预测的结果。随着 HTTP/1.1 的部署以及浏览器和代理服务器开始支持Host 头, 我们完全避免使用基于IP的虚拟主机也逐渐成为可能。这种状况下,web 服务器也不必在配置时进行DNS 的查询。但在 1997 年 3 月,这些特性的采用还没有广泛到可以在重要的web 服务器应用的地步。 和用于封装一组仅施用于特定虚拟主机的指令。任何在虚拟主机配置中可以使用的指令也同样可以在这里使用。当服务器接受了一个特定虚拟主机的文档请求时,它会使用封装在配置段中的指令。地址可以是虚拟主机的IP 地址;虚拟主机IP 地址对应的完整域名;字符 *,仅与 NameVirtualHost * 配合使用以匹配所有的IP 地址;或是字符串 _default_,与基于IP 的虚拟主机联用以捕获所有没有匹配的IP 地址。示例ServerAdmin DocumentRoot /www/docs/ ServerName ErrorLog logs/-error_log TransferLog logs/-access_log IPv6 的地址必须放入方括号中指定,否则作为可选项的端口号将无法确定。一个IPv6 的示例如下:ServerAdmin DocumentRoot /www/docs/ ServerName ErrorLog logs/-error_log TransferLog logs/-access_log 每个虚拟主机必须对应不同的IP 地址、端口号或是不同的主机名。在第一种情况下,服务器所在物理机器必须配置为可以为多个地址接受IP 包。 (在机器没有多个网络硬件界面的情况下,如果您的操作系统支持,您可以使用ifconfig alias 命令来达到这个目的。 ) 。当使用基于IP 的虚拟主机时,特殊的名称_default_可以在没有匹配上其它列出的虚拟主机的情况下作为匹配任何IP 地址的虚拟主机。在没有进行_default_虚拟主机的设定时,在没有 IP 与请求匹配的情况下,将使用“主服务器”(包括所有在虚拟主机配置段之外的配置)的配置。(但请注意:任何匹配NameVirtualHost指令的 IP 地址既不会使用main 服务器配置,也不会使用_default_虚拟主机的配置。参阅基于域名的虚拟主机文档获得更多详情。)您可以指定一个:端口来改变匹配的端口。如果没有指定, 它将沿用主服务器中离它最近的那个Listen 语句指定的值。您也可以指定:* 来匹配那个地址上的所有端口。(当您使用_default_时,这是推荐采用的方法。)安全提示:参阅安全提示文档获得为什么当您存储url=javascript:; 日志 /url 文件的目录对于启动服务器以外的用户来说是可写的会危及服务器安全的详细资料。注意:的使用不会影响到Apache 侦听的地址。您也许需要使用Listen 来确保 Apache 侦听着正确的地址。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 本文有经典论坛剑气凌人收集整理为调试程序,本机安装iis 与 apache ,无法同时使用80 端口,现给出解决方法:方法一:IIS5,多 IP 下共存, IIS 为 192.168.0.1,apache为 192.168.0.2 原文地址Adminscr ptscscr pt adsutil.vbs set w3svc/disablesocketpooling true该命令反馈如下disablesocketpooling : (BOOLEAN) True 重启 IIS Adminscr ptscscr pt adsutil.vbs set w3svc/disablesocketpooling true由于DisableSocketPooling 在 IIS 6.0 元url=javascript:; 数据库 /url 架构(MBSchema.xml) 中被定义为有效属性,所以,您仍然可以使用Adsutil.vbs 设置该属性,但这种设置不起作用。IIS 6.0 中的功能是新增的核心级别驱动程序HTTP.sys 的一部分。要配置HTTP.sys,您必须使用Httpcfg.exe 方法二:IIS6,多 IP 下共存, IIS 为 192.168.0.1,apache为 192.168.0.2 原文地址到2003 的CD下 的support/tools/Support.cab 。 解 压 出httpcfg.exe文 件 , COPY到windows/system32/目录下,用法自己看帮助命令行绑定到某IP: httpcfg set iplisten -i 192.168.0.1 即命令使用IIS 的只监听指定的IP 及端口查看绑定:httpcfg query iplisten 删除绑定:httpcfg delete iplisten -i 192.168.0.1 命令行net stop Apache2 net stop iisadmin /y net START Apache2 net START w3svc 保证 iis 下的 ip 设置为全局默认,Apache 中 httpconf 设置 listen 192.168.0.2:80 ,就应该可以两个服务同时运行,相互不冲突了。IIS 的访问地址为http:/192.168.0.1 ,Apache 访问地址为http:/192.168.0.2 方法三:网上常用的单IP 共用 80 端口方法,不过不推荐,只是使用Apache 的代理,速度有影响将apache设为使用80 端口, IIS 使用其它端口,比如81,然后将apache作为 IIS 的代理。在 httpd.conf 里面,取消下面四行的注释:LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 然后建立一个虚拟主机,将该域名的所有访问转向81 端口。ServerName ProxyPass / localhost ProxyPassReverse / 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - localhost 这样,对外就可以只需要一个端口,即可同时使用apache和 IIS 的功能了类推,使用第二种方法,你可以在IIS 上配置 PHP4,Apache2 中配置 PHP5,只需要IIS 中安装 PHP4,把url=javascript:;php/url .ini 复制到 windows 目录即可,这个就不用说了吧,Apache2 中,只要把PHP5 的 php.ini 放在 PHP5 安装目录里面就行了配置 Apache 以支持 PHP5:LoadModule php5_module D:/PHPServer/PHP5/php5apache2.dll AddType application/x-httpd-php .php DirectoryIndex index.html index.php PHPIniDir D:/PHPServer/PHP5 其中最重要的一条就是PHPIniDir ,用来指明php.ini 文件所在位置,即PHP5 的安装目录,注意所有目录的应该改为D: /PHPServer/PHP5 这种格式,而非D:PHPServerPHP5 ,IIS 的访问地址为http:/192.168.0.1 , Apache 访问地址为http:/192.168.0.2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

    注意事项

    本文(2022年配置apache虚拟主机 .pdf)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开