• Apache VirtualHost配置


    以lampp环境为例子,其他环境只是配置文件的路径不同。

    先要在   lampp/etc/httpd.conf ( 这个是Apache 总的配置文件)中,将虚拟路径的注释去掉。

    #Include etc/extra/httpd-vhosts.conf

    使httpd-vhosts.conf文件起作用,或者直接在httpd.conf中写配置也可以,但不建议这么做。

    相关的配置有:Listen  NameVirtualHost  <VirtualHost>

    1.  Listen  要监听的端口,多个端口,要写多个Listen;否则Apache启动的时候,不会启动相应的套接字。

       比如  

               Listen 80

               Listen 8080

    2.NameVirtualHost 如果没有这个,<VirtualHost>标签就没什么作用。

     (感谢okiwill的指正,这里特指基于域名访问的情况,若是基于IP访问的,以第一个指定IP的VirtualHost为准,每个IP可以单独指定)

      一个NameVirtualHost 可以对用多个<VirtualHost>,每个<VirtualHost>必须有自己的NameVirtualHost(我猜的)

       NameVirutalHost *:80

       制定这个主机的IP和端口,如果服务器上有多个IP,就可以制定某个IP的某个端口是哪个 主机。

        (新版的Apache已经去除了NameVirtualHost 这个配置,因为确实没什么用,参数在VirtualHost中都已经指明了)

    3  最关键的VirtualHost

       重要:Apache 在接受到请求时,首先会默认第一个VirtualHost,然后再找匹配的,如果没有匹配的,就是第一个VirtualHost起作用。

       因此在httpd.conf中,将<Dicrectory />(这个是所有目录的默认配置)

       和 <Direcotry /opt/lampp/htdocs>的权限,都是deny from all.作为默认。

       所以,我的第一个VirtualHost是

      <VirtualHost *:80>

       ServerName *

       DocumentRoot </opt/lampp/htdocs/guest>

       <Directory /opt/lampp/htdocs/guest>

         Order deny,allow

         Allow from all

       </Direcotry>

      <VirtualHost/>

    后面的,依次添加就可以

      <VirtualHost *:80>

       ServerName www.myweb1.com

       DocumentRoot </opt/lampp/htdocs/myweb1>

       <Directory /opt/lampp/htdocs/myweb1>

         Order deny,allow

         Allow from all

       </Direcotry>

      <VirtualHost/>

  • 相关阅读:
    常用centos命令,经常忘记
    大数据hadoop之最简单理解
    企业级私有镜像仓库Harbor
    docker 修改国内源
    docker镜像仓库
    Dockerfile
    通过docker搭建LNMP平台(以wordpress为例)
    蓝鲸问题库
    docker常用命令
    LVS+Keepalive双机热备 <转>
  • 原文地址:https://www.cnblogs.com/xiaoleiel/p/8301523.html
Copyright © 2020-2023  润新知