zoukankan      html  css  js  c++  java
  • Nginx 配置实例-配置虚拟主机

    配置基于域名的虚拟主机

    以下步骤将配置三个域名不同的虚拟主机,各虚拟主机规划如下:

    • 域名为 aaa.domain.com 的虚拟主机,处理所有对域名 aaa.domain.com 的访问
    • 域名为 bbb.otherdomain.com 的虚拟主机,处理所有对域名 bbb.otherdomain.com 的访问

    1. 配置域名为 aaa.domain.com 的虚拟主机

    1.1 nginx 中虚拟主机的配置

    修改 nginx 的配置文件 nginx.conf,将 http 模块内容修改如下:

    http {
        # 虚拟主机 aaa.domain.com
        server {
            # 监听的 IP 和端口
            listen  80; 
            # 虚拟主机名
            server_name aaa.domain.com; 
            # 日志
            access_log  /var/log/nginx/domain-aaa-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/domain-aaa;
            }
        }   
    }
     

     

    1.2 相关目录及文件的创建

    在上面的配置文件中,配置了两个相关的目录,一个是 access_log 配置的日志目录,另一个是 root 配置的网页文件的根目录,分别创建如下两个目录:

    # 创建 nginx.conf 配置文件中 access_log 配置的日志目录
    cd /var/log/
    mkdir nginx
    
    # 创建 nginx.conf 配置文件中 root 配置的网页文件的根目录
    mkdir -vp /html/nginx/domain-aaa
     

    创建完成 /html/nginx/domain-aaa 目录后,需向该目录添加 html 文件,充当默认首页

    # 拷贝 nginx 的默认首页到 domain-aaa 目录,充当 aaa.domain.com 主机的默认首页
    cp -vr /usr/local/nginx/html/* /html/nginx/domain-aaa
     

    修改 index.html 文件,修改内容如下:
    在这里插入图片描述

    1.3 验证域名为 aaa.domain.com 的虚拟主机配置是否成功

    在修改 nginx 的配置文件之后,需要进行重载:

    # 验证 nginx 的配置文件是否正确
    /usr/local/nginx/sbin/nginx -t
    
    # 重启 nginx(只有一个 server 时需要使用重启)
    /usr/local/nginx/sbin/nginx -s stop
    /usr/local/nginx/sbin/nginx
    
    # 重载 nginx(多于一个 server 时可以使用重载)
    /usr/local/nginx/sbin/nginx -s reload
     

     

    要想通过域名正确访问 aaa.domain.com,还需配置域名和IP的映射关系,修改本机的 hosts 文件,添加如下内容:

    192.168.25.101 aaa.domain.com
     

    浏览器访问 aaa.domain.com,将会出现默认首页,页面内容如下:
    在这里插入图片描述

    2. 配置域名为 bbb.otherdomain.com 的虚拟主机

    2.1 nginx 中虚拟主机的配置

    修改 nginx 的配置文件 nginx.conf,将 http 模块内容修改如下:

    http {
        # 虚拟主机 aaa.domain.com
        server {
            # 监听的 IP 和端口
            listen  80; 
            # 虚拟主机名
            server_name aaa.domain.com; 
            # 日志
            access_log  /var/log/nginx/domain-aaa-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/domain-aaa;
            }
        }   
    
        # 虚拟主机 bbb.otherdomain.com
        server {
            # 监听的 IP 和端口
            listen  80; 
            # 虚拟主机名
            server_name bbb.otherdomain.com;    
            # 日志
            access_log  /var/log/nginx/domain-bbb-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/domain-bbb;
            }
        }   
    }
     

    2.2 相关目录及文件的创建

    在上面的配置文件中,配置了两个相关的目录,一个是 access_log 配置的日志目录,另一个是 root 配置的网页文件的根目录,分别创建如下两个目录:

    # 创建 nginx.conf 配置文件中 access_log 配置的日志目录
    cd /var/log/
    mkdir nginx
    
    # 创建 nginx.conf 配置文件中 root 配置的网页文件的根目录
    mkdir -vp /html/nginx/domain-bbb
     

     

    创建完成 /html/nginx/domain-bbb 目录后,需向该目录添加 html 文件,充当默认首页

    # 拷贝 nginx 的默认首页到 domain-bbb 目录,充当 bbb.otherdomain.com 主机的默认首页
    cp -vr /usr/local/nginx/html/* /html/nginx/domain-bbb
     

    修改 index.html 文件,修改内容如下:
    在这里插入图片描述

    2.3 验证域名为 bbb.otherdomain.com 的虚拟主机配置是否成功

    在修改 nginx 的配置文件之后,需要进行重载:

    # 验证 nginx 的配置文件是否正确
    /usr/local/nginx/sbin/nginx -t
    
    # 重启 nginx(只有一个 server 时需要使用重启)
    /usr/local/nginx/sbin/nginx -s stop
    /usr/local/nginx/sbin/nginx
    
    # 重载 nginx(多于一个 server 时可以使用重载)
    /usr/local/nginx/sbin/nginx -s reload
     

     

     

    要想通过域名正确访问 aaa.domain.com,还需配置域名和IP的映射关系,修改本机的 hosts 文件,添加如下内容:

    192.168.25.101 bbb.otherdomain.com
     

    浏览器访问 bbb.otherdomain.com,将会出现默认首页,页面内容如下:
    在这里插入图片描述

    参考文档

    《实战Nginx-取代Apache的高性能Web服务器》3.2.3 配置基于域名的虚拟主机

    配置基于 IP 的虚拟主机

    以下步骤将配置三个 IP 不同的虚拟主机,各虚拟主机规划如下:

    • IP 为 192.168.25.101 的虚拟主机——真实主机
    • IP 为 192.168.25.199 的虚拟主机——通过为网卡添加 IP 别名创建的虚拟主机
    • IP 为 192.169.25.200 的虚拟主机——通过为网卡添加 IP 别名创建的虚拟主机

    1. 配置 IP 为 192.168.25.101 的虚拟主机

    1.1 nginx 中虚拟主机的配置

    修改 nginx 的配置文件 nginx.conf,将 http 模块内容修改如下:

    http {
        # 虚拟主机 192.168.25.101
        server {
            # 监听的 IP 和端口
            listen  192.168.25.101:80;
            # 虚拟主机名
            server_name 192.168.25.101; 
            # 日志
            access_log  /var/log/nginx/101-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/101;
            }
        }   
    }
     

    1.2 相关目录及文件的创建

    在上面的配置文件中,配置了两个相关的目录,一个是 access_log 配置的日志目录,另一个是 root 配置的网页文件的根目录,分别创建如下两个目录:

    # 创建 nginx.conf 配置文件中 access_log 配置的日志目录
    cd /var/log/
    mkdir nginx
    
    # 创建 nginx.conf 配置文件中 root 配置的网页文件的根目录
    mkdir -vp /html/nginx/101
     

     

    创建完成 /html/nginx/101 目录后,需向该目录添加 html 文件,充当默认首页

    # 拷贝 nginx 的默认首页到 101 目录,充当 192.168.25.101 主机的默认首页
    cp -vr /usr/local/nginx/html/* /html/nginx/101
     

    修改 index.html 文件,修改内容如下:
    在这里插入图片描述

    1.3 验证 192.168.25.101 的虚拟主机配置是否成功

    在修改 nginx 的配置文件之后,需要进行重载:

    # 验证 nginx 的配置文件是否正确
    /usr/local/nginx/sbin/nginx -t
    
    # 重启 nginx(只有一个 server 时需要使用重启)
    /usr/local/nginx/sbin/nginx -s stop
    /usr/local/nginx/sbin/nginx
    
    # 重载 nginx(多于一个 server 时可以使用重载)
    /usr/local/nginx/sbin/nginx -s reload
     

     

     

    浏览器访问 192.168.25.101,将会出现 101 主机的默认首页,页面内容如下:
    在这里插入图片描述

    2. 配置 IP 为 192.168.25.199 的虚拟主机

    2.1 192.168.25.199 虚拟主机的模拟

    这里虚拟主机的模拟,主要是通过给网卡取 IP 别名来完成的。

    1. 使用 ifconfig 命令查看当前主机的网卡和 IP
      在这里插入图片描述
    2. 在 eth0 网卡上添加 192.168.25.199 的 IP 别名
    /sbin/ifconfig eth0:1 192.168.25.199 broadcast 192.168.25.255 netmask 255.255.255.0 up
    /sbin/route add -host 192.168.25.199 dev eth0:1
     

     

    1. 验证 eth0 的 IP 别名 192.168.25.199 添加是否成功
      使用 ifconifg 命令查看 IP 相关信息
      在这里插入图片描述
      使用 ping 命令查看 192.168.25.199 的 IP 是否可以连接
      在这里插入图片描述

    2.2 nginx 中虚拟主机的配置

    修改 nginx 的配置文件 nginx.conf,修改 http 模块内容如下:

    http {
        # 虚拟主机 192.168.25.101
        server {
            # 监听的 IP 和端口
            listen  192.168.25.101:80;
            # 虚拟主机名
            server_name 192.168.25.101; 
            # 日志
            access_log  /var/log/nginx/101-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/101;
            }
        }   
    
        # 虚拟主机 192.168.25.199
        server {
            # 监听的 IP 和端口
            listen  192.168.25.199:80;
            # 虚拟主机名
            server_name 192.168.25.199; 
            # 日志
            access_log  /var/log/nginx/199-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/199;
            }
        }   
    }
     

     

    2.3 相关目录及文件的创建

    在上面的配置文件中,配置了两个相关的目录,一个是 access_log 配置的日志目录,另一个是 root 配置的网页文件的根目录,分别创建如下两个目录:

    # 创建 nginx.conf 配置文件中 access_log 配置的日志目录
    cd /var/log/
    mkdir nginx
    
    # 创建 nginx.conf 配置文件中 root 配置的网页文件的根目录
    mkdir -vp /html/nginx/199
     

     

     

    创建完成 /html/nginx/199 目录后,需向该目录添加 html 文件,充当默认首页

    # 拷贝 nginx 的默认首页到 199 目录,充当 192.168.25.199 主机的默认首页
    cp -vr /usr/local/nginx/html/* /html/nginx/199
     

     

    修改 index.html 文件,修改内容如下:
    在这里插入图片描述

    2.4 验证 192.168.25.199 的虚拟主机配置是否成功

    在修改 nginx 的配置文件之后,需要进行重载:

    # 验证 nginx 的配置文件是否正确
    /usr/local/nginx/sbin/nginx -t
    
    # 重启 nginx(只有一个 server 时需要使用重启)
    /usr/local/nginx/sbin/nginx -s stop
    /usr/local/nginx/sbin/nginx
    
    # 重载 nginx(多于一个 server 时可以使用重载)
    /usr/local/nginx/sbin/nginx -s reload
     

    浏览器访问 192.168.25.199,将会出现 199 主机的默认首页,页面内容如下:
    在这里插入图片描述

    3. 配置 IP 为 192.168.25.200 的虚拟主机

    3.1 192.168.25.200 虚拟主机的模拟

    这里虚拟主机的模拟,主要是通过给网卡取 IP 别名来完成的。

    1. 使用 ifconfig 命令查看当前主机的网卡和 IP
      在这里插入图片描述
    2. 在 eth0 网卡上添加 192.168.25.200 的 IP 别名
    /sbin/ifconfig eth0:2 192.168.25.200 broadcast 192.168.25.255 netmask 255.255.255.0 up
    /sbin/route add -host 192.168.25.200 dev eth0:2
     
    1. 验证 eth0 的 IP 别名 192.168.25.200 添加是否成功
      使用 ifconifg 命令查看 IP 相关信息
      在这里插入图片描述
      使用 ping 命令查看 192.168.25.199 的 IP 是否可以连接
      在这里插入图片描述

    3.2 nginx 中虚拟主机的配置

    修改 nginx 的配置文件 nginx.conf,修改 http 模块内容如下:

    http {
        # 虚拟主机 192.168.25.101
        server {
            # 监听的 IP 和端口
            listen  192.168.25.101:80;
            # 虚拟主机名
            server_name 192.168.25.101; 
            # 日志
            access_log  /var/log/nginx/101-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/101;
            }   
        }   
    
        # 虚拟主机 192.168.25.199
        server {
            # 监听的 IP 和端口
            listen  192.168.25.199:80;
            # 虚拟主机名
            server_name 192.168.25.199; 
            # 日志
            access_log  /var/log/nginx/199-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/199;
            }   
        }   
    
        # 虚拟主机 192.168.25.200
        server {
            # 监听的 IP 和端口
            listen  192.168.25.200:80;
            # 虚拟主机名
            server_name 192.168.25.200; 
            # 日志
            access_log  /var/log/nginx/200-access.log combined;
            location / { 
                # 首页
                index index.html index.htm;
                # HTML 网页文件的根目录
                root /html/nginx/200;
            }   
        }   
    
    }
     

     

    3.3 相关目录及文件的创建

    在上面的配置文件中,配置了两个相关的目录,一个是 access_log 配置的日志目录,另一个是 root 配置的网页文件的根目录,分别创建如下两个目录:

    # 创建 nginx.conf 配置文件中 access_log 配置的日志目录
    cd /var/log/
    mkdir nginx
    
    # 创建 nginx.conf 配置文件中 root 配置的网页文件的根目录
    mkdir -vp /html/nginx/200
     

     

    创建完成 /html/nginx/200 目录后,需向该目录添加 html 文件,充当默认首页

    # 拷贝 nginx 的默认首页到 200 目录,充当 192.168.25.200 主机的默认首页
    cp -vr /usr/local/nginx/html/* /html/nginx/200
     

    修改 index.html 文件,修改内容如下:
    在这里插入图片描述

    3.4 验证 192.168.25.200 的虚拟主机配置是否成功

    在修改 nginx 的配置文件之后,需要进行重载:

    # 验证 nginx 的配置文件是否正确
    /usr/local/nginx/sbin/nginx -t
    
    # 重启 nginx(只有一个 server 时需要使用重启)
    /usr/local/nginx/sbin/nginx -s stop
    /usr/local/nginx/sbin/nginx
    
    # 重载 nginx(多于一个 server 时可以使用重载)
    /usr/local/nginx/sbin/nginx -s reload
     

    浏览器访问 192.168.25.199,将会出现 199 主机的默认首页,页面内容如下:
    在这里插入图片描述

    参考文档

    《实战Nginx-取代Apache的高性能Web服务器》3.2.2 配置基于IP的虚拟主机

     
  • 相关阅读:
    一周好文(15)
    一周好文(13)
    宏定义中的 "#" 和 "##"
    一周好文(14)
    CCRenderTexture崩溃问题分析
    C++反射机制的实现(转)
    一周好文(16)
    opengl on mac
    uthash: a hash table for C strcutures
    CC3LineNode线条变色的问题
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/12834685.html
Copyright © 2011-2022 走看看