• 配置Apache虚拟主机


    [title]: # 配置Apache虚拟主机

    实验环境

    1. 一台最小化安装的CentOS 7.3虚拟机

    配置基础环境

    1. 安装apache

    yum install -y httpd
    

    2. 建立虚拟主机的根目录

    mkdir /var/wwwroot
    mkdir /var/wwwroot/site1
    mkdir /var/wwwroot/site2
    echo -e "site1" >> /var/wwwroot/site1/index.html
    echo -e "site2" >> /var/wwwroot/site2/index.html
    

    3. 关闭CentOS的防火墙

    setenforce 0
    systemctl stop firewalld
    systemctl disable firewalld
    

    配置基于端口的虚拟主机

    1. 编辑apache配置文件

    vim /etc/httpd/conf.d/vhost.conf
    

    2. 添加以下内容

    Listen 8081
    <VirtualHost *:8081>
        DocumentRoot "/var/wwwroot/site1"
        ErrorLog "logs/site1.error.log"
        CustomLog "logs/site1.access.log" common
        <Directory "/var/wwwroot/site1">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Require all granted
        </Directory>
    </VirtualHost>
    
    Listen 8082
    <VirtualHost *:8082>
        DocumentRoot "/var/wwwroot/site2"
        ErrorLog "logs/site2.error.log"
        CustomLog "logs/site2.access.log" common
        <Directory "/var/wwwroot/site2">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Require all granted
        </Directory>
    </VirtualHost>
    

    3. 启动apache服务

    systemctl start httpd
    

    4. 在宿主机访问两个站点

    http://192.168.204.133:8081
    http://192.168.204.133:8082


    配置基于域名的虚拟主机

    1. 编辑apache配置文件

    vim /etc/httpd/conf.d/vhost.conf
    

    2. 修改为以下内容

    <VirtualHost *:80>
        DocumentRoot "/var/wwwroot/site1"
        ServerName site1.test.com
        ErrorLog "logs/site1.error.log"
        CustomLog "logs/site1.access.log" common
        <Directory "/var/wwwroot/site1">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Require all granted
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
        DocumentRoot "/var/wwwroot/site2"
        ServerName site2.test.com
        ErrorLog "logs/site2.error.log"
        CustomLog "logs/site2.access.log" common
        <Directory "/var/wwwroot/site2">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Require all granted
        </Directory>
    </VirtualHost>
    

    3. 重启apache服务

    systemctl restart httpd
    

    4. 在Windows上修改hosts文件

    编辑C:WindowsSystem32driversetchosts文件,
    添加以下内容(根据实际情况自己修改)

    192.168.204.135   site1.test.com  
    192.168.204.135   site2.test.com
    

    5. 在宿主机访问两个站点

    http://site1.test.com/
    http://site2.test.com/

    配置基于IP的虚拟主机

    1. 在虚拟机上增加两个IP地址

    ifconfig ens33:1 192.168.204.135
    ifconfig ens33:2 192.168.204.136
    

    2. 重新编辑apache配置文件

    vim /etc/httpd/conf.d/vhost.conf
    

    3. 修改配置文件为以下内容

    <VirtualHost 192.168.204.135:80>
        DocumentRoot "/var/wwwroot/site1"
        ErrorLog "logs/site1.error.log"
        CustomLog "logs/site1.access.log" common
        <Directory "/var/wwwroot/site1">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Require all granted
        </Directory>
    </VirtualHost>
    
    <VirtualHost 192.168.204.136:80>
        DocumentRoot "/var/wwwroot/site2"
        ErrorLog "logs/site2.error.log"
        CustomLog "logs/site2.access.log" common
        <Directory "/var/wwwroot/site2">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Require all granted
        </Directory>
    </VirtualHost>
    

    4. 重启apache服务

    systemctl restart httpd
    

    5. 在宿主机访问两个站点

    http://192.168.204.135/
    http://192.168.204.136/

    本文链接:https://www.cnblogs.com/connect/p/apache-vhost.html

  • 相关阅读:
    未能写入输出文件..”“拒绝访问。”的解决办法
    SecureCRT显示中文和语法高亮
    危险无处不在 Html标签带来的安全隐患(转载)
    具有负载均衡功能的MySQL服务器集群部署及实现
    Linux以及各大发行版介绍
    yum源 redis 设置
    freebsd+apache+mysql+php+phpmyadmin+zend+discuz傻瓜式教程
    VS2005无法切换到设计视图的解决方案
    IIS不能下载EXE的解决方法
    JQuery优秀插件征集
  • 原文地址:https://www.cnblogs.com/connect/p/apache-vhost.html
Copyright © 2020-2023  润新知