zoukankan      html  css  js  c++  java
  • Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机

              Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机

                                                    作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.虚拟主机实现方案

    1>.Apache httpd 有三种实现虚拟主机的方案

      基于ip:
        为每个虚拟主机准备至少一个ip地址   基于port:
        为每个虚拟主机使用至少一个独立的port   基于FQDN:
        为每个虚拟主机使用至少一个FQDN

    2>.创建测试网页文件

    [root@node101.yinzhengjie.org.cn ~]# mkdir /var/www/html/{a,b,c}site
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# echo "<h1>www.a.com</h1>" > /var/www/html/asite/index.html
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# echo "<h1>www.b.org</h1>" > /var/www/html/bsite/index.html
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# echo "<h1>www.c.net</h1>" > /var/www/html/csite/index.html
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# cat /var/www/html/asite/index.html 
    <h1>www.a.com</h1>
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# cat /var/www/html/bsite/index.html 
    <h1>www.b.org</h1>
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# cat /var/www/html/csite/index.html 
    <h1>www.c.net</h1>
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# 

    二.基于不同的IP地址实现虚拟主机配置实战案例

    1>.给一块网卡临时配置多个IP地址测试使用

    [root@node101.yinzhengjie.org.cn ~]# ifconfig 
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
            ether 08:00:27:e0:bb:66  txqueuelen 1000  (Ethernet)
            RX packets 11  bytes 2107 (2.0 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 14  bytes 1563 (1.5 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.30.1.101  netmask 255.255.255.0  broadcast 172.30.1.255
            ether 08:00:27:c1:c7:46  txqueuelen 1000  (Ethernet)
            RX packets 20385  bytes 1745732 (1.6 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 13262  bytes 2189091 (2.0 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 82  bytes 15620 (15.2 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 82  bytes 15620 (15.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# ip addr a 172.30.1.200 dev eth1
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# ip addr a 172.30.1.100 dev eth1
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 08:00:27:e0:bb:66 brd ff:ff:ff:ff:ff:ff
        inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
           valid_lft 79421sec preferred_lft 79421sec
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 08:00:27:c1:c7:46 brd ff:ff:ff:ff:ff:ff
        inet 172.30.1.101/24 brd 172.30.1.255 scope global noprefixroute eth1
           valid_lft forever preferred_lft forever
        inet 172.30.1.200/32 scope global eth1
           valid_lft forever preferred_lft forever
        inet 172.30.1.100/32 scope global eth1
           valid_lft forever preferred_lft forever
    [root@node101.yinzhengjie.org.cn ~]#  

    2>.编辑httpd的配置文件

    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  
    ServerRoot "/etc/httpd"
    Listen 80
    Include conf.modules.d/*.conf
    User apache
    Group apache
    ServerAdmin root@localhost
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    DocumentRoot "/var/www/html"
    <Directory "/var/www">
        AllowOverride None
        Require all granted
    </Directory>
    <Directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    <Files ".ht*">
        Require all denied
    </Files>
    ErrorLog "logs/error_log"
    LogLevel warn
    <IfModule log_config_module>
        LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" testlog
        LogFormat "%h %l %u %t "%r" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
        </IfModule>
        CustomLog "logs/access_log" testlog
    </IfModule>
    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    </IfModule>
    <Directory "/var/www/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    <IfModule mime_module>
        TypesConfig /etc/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
    </IfModule>
    AddDefaultCharset UTF-8
    <IfModule mime_magic_module>
        MIMEMagicFile conf/magic
    </IfModule>
    EnableSendfile on
    IncludeOptional conf.d/*.conf
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf      #查看主配置文件内容
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  | grep ServerRoot
    ServerRoot "/etc/httpd"
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  | grep IncludeOptional
    IncludeOptional conf.d/*.conf
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# cat /etc/httpd/conf.d/virtualHost.conf 
    <VirtualHost "172.30.1.100:80">
        DocumentRoot "/var/www/html/asite"
        <Directory "/var/www/html/asite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_asite_log" testlog        #注意这个testlog变量需要在主配置文件中定义哟~
    </VirtualHost>
    
    
    <VirtualHost "172.30.1.101:80">
        DocumentRoot "/var/www/html/bsite"
        <Directory "/var/www/html/bsite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_bsite_log" testlog
    </VirtualHost>
    
    
    <VirtualHost "172.30.1.200:80">
        DocumentRoot "/var/www/html/csite"
        <Directory "/var/www/html/csite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_csite_log" testlog
    </VirtualHost>
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# httpd -t
    Syntax OK
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# systemctl reload httpd
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# ss -ntl
    State       Recv-Q Send-Q             Local Address:Port                            Peer Address:Port              
    LISTEN      0      128                            *:80                                         *:*                  
    LISTEN      0      128                            *:22                                         *:*                  
    LISTEN      0      128                           :::22                                        :::*                  
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# 

    3>.验证客户端是否可以正常访问

    [root@node101.yinzhengjie.org.cn ~]# tail /var/log/httpd/access_asite_log 
    172.30.1.100 - - 2019-12-09 16:00:26 "GET / HTTP/1.1" 200 19 "-" "curl/7.29.0"
    172.30.1.254 - - 2019-12-09 16:01:24 "GET / HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebK
    it/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"172.30.1.254 - - 2019-12-09 16:01:24 "GET /favicon.ico HTTP/1.1" 404 209 "http://172.30.1.100/" "Mozilla/5.0 (Windows
     NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"[root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# tail /var/log/httpd/access_asite_log
    [root@node101.yinzhengjie.org.cn ~]# tail /var/log/httpd/access_bsite_log 
    172.30.1.101 - - 2019-12-09 16:00:29 "GET / HTTP/1.1" 200 19 "-" "curl/7.29.0"
    172.30.1.254 - - 2019-12-09 16:01:32 "GET / HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebK
    it/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"172.30.1.254 - - 2019-12-09 16:02:25 "-" 408 - "-" "-"
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# tail /var/log/httpd/access_bsite_log
    [root@node101.yinzhengjie.org.cn ~]# tail /var/log/httpd/access_csite_log 
    172.30.1.200 - - 2019-12-09 16:00:32 "GET / HTTP/1.1" 200 19 "-" "curl/7.29.0"
    172.30.1.254 - - 2019-12-09 16:01:39 "GET / HTTP/1.1" 200 19 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebK
    it/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"172.30.1.254 - - 2019-12-09 16:01:39 "GET /favicon.ico HTTP/1.1" 404 209 "http://172.30.1.200/" "Mozilla/5.0 (Windows
     NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"172.30.1.254 - - 2019-12-09 16:02:31 "-" 408 - "-" "-"
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# tail /var/log/httpd/access_csite_log

    三.基于相同IP地址的不同端口实现虚拟主机配置实战案例

    1>.编辑httpd的配置文件

    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  
    ServerRoot "/etc/httpd"
    Listen 80
    Include conf.modules.d/*.conf
    User apache
    Group apache
    ServerAdmin root@localhost
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    DocumentRoot "/var/www/html"
    <Directory "/var/www">
        AllowOverride None
        Require all granted
    </Directory>
    <Directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    <Files ".ht*">
        Require all denied
    </Files>
    ErrorLog "logs/error_log"
    LogLevel warn
    <IfModule log_config_module>
        LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" testlog
        LogFormat "%h %l %u %t "%r" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
        </IfModule>
        CustomLog "logs/access_log" testlog
    </IfModule>
    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    </IfModule>
    <Directory "/var/www/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    <IfModule mime_module>
        TypesConfig /etc/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
    </IfModule>
    AddDefaultCharset UTF-8
    <IfModule mime_magic_module>
        MIMEMagicFile conf/magic
    </IfModule>
    EnableSendfile on
    IncludeOptional conf.d/*.conf
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf      #查看主配置文件内容
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  | grep ServerRoot
    .ServerRoot "/etc/httpd"
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  | grep IncludeOptional
    IncludeOptional conf.d/*.conf
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# cat /etc/httpd/conf.d/virtualHost.conf 
    Listen 8080          #注意,千万别忘记监听不同的端口哟~
    Listen 8081
    Listen 8082
    
    <VirtualHost "*:8080">
        DocumentRoot "/var/www/html/asite"
        <Directory "/var/www/html/asite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_asite_log" testlog
    </VirtualHost>
    
    
    <VirtualHost "*:8081">
        DocumentRoot "/var/www/html/bsite"
        <Directory "/var/www/html/bsite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_bsite_log" testlog
    </VirtualHost>
    
    
    <VirtualHost "*:8082">
        DocumentRoot "/var/www/html/csite"
        <Directory "/var/www/html/csite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_csite_log" testlog
    </VirtualHost>
    [root@node101.yinzhengjie.org.cn ~]#
    [root@node101.yinzhengjie.org.cn ~]# httpd -t
    Syntax OK
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# systemctl reload httpd
    [root@node101.yinzhengjie.org.cn ~]#
    [root@node101.yinzhengjie.org.cn ~]# ss -ntl
    State       Recv-Q Send-Q             Local Address:Port                            Peer Address:Port              
    LISTEN      0      128                            *:8080                                       *:*                  
    LISTEN      0      128                            *:80                                         *:*                  
    LISTEN      0      128                            *:8081                                       *:*                  
    LISTEN      0      128                            *:8082                                       *:*                  
    LISTEN      0      128                            *:22                                         *:*                  
    LISTEN      0      128                           :::22                                        :::*                  
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# 

    2>.验证客户端是否可以正常访问

    四.基于FQDN实现虚拟主机配置实战案例

    1>.配置hosts文件解析

    [root@node101.yinzhengjie.org.cn ~]# hostname
    node101.yinzhengjie.org.cn
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# hostname -i
    172.30.1.101
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# grep 172.30.1.101 /etc/hosts          #添加咱们要配置的虚拟主机FQDN解析,我这里是实验环境添加本地解析即可,生产环境需要添加DNS解析哟~
    172.30.1.101 node101.yinzhengjie.org.cn www.a.com www.b.org www.c.net
    [root@node101.yinzhengjie.org.cn ~]#
    [root@node101.yinzhengjie.org.cn ~]# ping www.a.com
    PING node101.yinzhengjie.org.cn (172.30.1.101) 56(84) bytes of data.
    64 bytes from node101.yinzhengjie.org.cn (172.30.1.101): icmp_seq=1 ttl=64 time=0.011 ms
    ^C
    --- node101.yinzhengjie.org.cn ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.011/0.011/0.011/0.000 ms
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# ping www.a.com
    [root@node101.yinzhengjie.org.cn ~]# ping www.b.org
    PING node101.yinzhengjie.org.cn (172.30.1.101) 56(84) bytes of data.
    64 bytes from node101.yinzhengjie.org.cn (172.30.1.101): icmp_seq=1 ttl=64 time=0.010 ms
    ^C
    --- node101.yinzhengjie.org.cn ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.010/0.010/0.010/0.000 ms
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# ping www.b.org
    [root@node101.yinzhengjie.org.cn ~]# ping www.c.net
    PING node101.yinzhengjie.org.cn (172.30.1.101) 56(84) bytes of data.
    64 bytes from node101.yinzhengjie.org.cn (172.30.1.101): icmp_seq=1 ttl=64 time=0.015 ms
    ^C
    --- node101.yinzhengjie.org.cn ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.015/0.015/0.015/0.000 ms
    [root@node101.yinzhengjie.org.cn ~]#
    [root@node101.yinzhengjie.org.cn ~]# ping www.c.net

    2>.修改httpd的配置文件

    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  
    ServerRoot "/etc/httpd"
    Listen 80
    Include conf.modules.d/*.conf
    User apache
    Group apache
    ServerAdmin root@localhost
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    DocumentRoot "/var/www/html"
    <Directory "/var/www">
        AllowOverride None
        Require all granted
    </Directory>
    <Directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    <Files ".ht*">
        Require all denied
    </Files>
    ErrorLog "logs/error_log"
    LogLevel warn
    <IfModule log_config_module>
        LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" testlog
        LogFormat "%h %l %u %t "%r" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
        </IfModule>
        CustomLog "logs/access_log" testlog
    </IfModule>
    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    </IfModule>
    <Directory "/var/www/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    <IfModule mime_module>
        TypesConfig /etc/mime.types
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
    </IfModule>
    AddDefaultCharset UTF-8
    <IfModule mime_magic_module>
        MIMEMagicFile conf/magic
    </IfModule>
    EnableSendfile on
    IncludeOptional conf.d/*.conf
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf      #查看主配置文件内容
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  | grep ServerRoot
    ServerRoot "/etc/httpd"
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf  | grep IncludeOptional
    IncludeOptional conf.d/*.conf
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# cat /etc/httpd/conf.d/virtualHost.conf 
    <VirtualHost "*:80">
        DocumentRoot "/var/www/html/asite"
        ServerName "www.a.com"        #别忘记在这里写上相应的虚拟主机的名称哟~以下配置类似修改即可。
        <Directory "/var/www/html/asite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_asite_log" testlog
    </VirtualHost>
    
    
    <VirtualHost "*:80">
        DocumentRoot "/var/www/html/bsite"
        ServerName "www.b.org"
        <Directory "/var/www/html/bsite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_bsite_log" testlog
    </VirtualHost>
    
    
    <VirtualHost "*:80">
        DocumentRoot "/var/www/html/csite"
        ServerName "www.c.net"
        <Directory "/var/www/html/csite">
            Require all granted
        </Directory>
        CustomLog "/var/log/httpd/access_csite_log" testlog
    </VirtualHost>
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# httpd -t
    Syntax OK
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# systemctl reload httpd
    [root@node101.yinzhengjie.org.cn ~]# 
    [root@node101.yinzhengjie.org.cn ~]# ss -ntl
    State       Recv-Q Send-Q             Local Address:Port                            Peer Address:Port              
    LISTEN      0      128                            *:80                                         *:*                  
    LISTEN      0      128                            *:22                                         *:*                  
    LISTEN      0      128                           :::22                                        :::*                  
    [root@node101.yinzhengjie.org.cn ~]# 

    3>.如下图所示,编辑windows系统的本地解析文件("C:WindowsSystem32driversetchosts")

    4>.验证客户端是否可以正常访问

    五.总结

      上面我们已经演示了基于IP,端口和FQDN来实现虚拟主机的实战案例,接下来我们分析一下这3种方案的区别。

        基于IP:
          需要使用多个不同的IP地址实现虚拟主机,无疑是会浪费多余的公网IP地址。
      
        基于端口:
          只需要一个公网IP地址即可,并将多个端口的绑定到同一个IP地址上,相对于基于IP实现的虚拟主机要更加节省IP地址,但会占多个端口号实,从而浪费多余的套接字文件。

        FQDN:
          基于FQDN只需要一个IP地址和一段端口即可,所有的虚拟主机只绑定在同一个端口即可,不同的虚拟主机根据客户端的请求报文中的"HOST"参数来判断是要访问哪个虚拟主机。如果客户端不指定"HOST"的属性,而是直接输入的是IP地址,则默认使用虚拟主机配置文件中的第一个虚拟主机来进行响应哟~
          基于FQDN实现虚拟主机要比基于IP实现虚拟主机更加节省公网IP地址。
          基于FQDN实现虚拟主机要比基于端口实现虚拟主机更加节省公网IP地址的端口数量。

      综上所述,我们生产环境中实现虚拟主机大多数运维人员都会选用基于FQDN的方案实现。
  • 相关阅读:
    北京燃气IC卡充值笔记
    随机分析、随机控制等科目在量化投资、计算金融方向有哪些应用?
    量化交易平台大全
    Doctor of Philosophy in Computational and Mathematical Engineering
    Institute for Computational and Mathematical Engineering
    Requirements for the Master of Science in Computational and Mathematical Engineering
    MSc in Mathematical and Computational Finance
    万字长文:详解多智能体强化学习的基础和应用
    数据处理思想和程序架构: 使用Mbedtls包中的SSL,和服务器进行网络加密通信
    31-STM32+W5500+AIR202/302基本控制篇-功能优化-W5500移植mbedtls库以SSL方式连接MQTT服务器(单向忽略认证)
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/12007213.html
Copyright © 2011-2022 走看看