Apache虚拟主机配置详解

1、配置环境说明

系统环境:CentOS7

Apache环境:编译安装的httpd-2.4.7

系统限制:关闭了防火墙和selinux

hosts文件中配置以下域名解析

192.168.115.150    www.web1.com

192.168.115.150    www.web2.com

2、Apache虚拟主机简介

虚拟主机是指在一个机器上运行多个网站(例如:www.web1.com和www.web2.com)。每个站点希望用不同的域名和站点目录,或者是不同端口、不同的IP就需要虚拟主机。

3、Apache虚拟主机的分类

(1)基于IP地址的虚拟主机:一台服务器上使用不同IP地址对应不同站点

(2)基于域名的虚拟主机:一台服务器上使用不同的域名对应不同站点

(3)基于端口的虚拟主机:一台服务器上使用不同的端口对应不同站点

4、Apache基于IP的虚拟主机配置方法

(1)创建web1和web2站点的目录和网页文件

[root@localhost ~]# mkdir -p /www/web{1..2}/logs/

[root@localhost ~]#echo 'www.web1.com'>/www/web1/index.html

[root@localhost ~]# echo 'www.web2.com'>/www/web2/index.html

[root@localhost ~]# tree /www

/www

├── web1

│   ├── index.html

│   └── logs

└── web2

├── index.html

└── logs

(2)修改Apache相关配置文件

[root@localhost ~]# vim /usr/local/apache2/conf/httpd.conf

Include conf/extra/httpd-vhosts.conf     删除这一行的注释

[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<VirtualHost 192.168.115.150:80>

DocumentRoot "/www/web1"

ServerName www.web1.com

ServerAlias web1.com

ErrorLog "/www/web1/logs/web1_error.log"

CustomLog "/www/web1/logs/web1_access.log" common

<Directory "/www/web1">

Options Indexes

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

<VirtualHost 192.168.115.160:80>

DocumentRoot "/www/web2"

ServerName www.web2.com

ErrorLog "/www/web2/logs/web2_error.log"

CustomLog "/www/web2/logs/web2_access.log" common

<Directory "/www/web2">

Options Indexes

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

[root@localhost ~]# /usr/local/apache2/bin/apachectl -t   检查语法

Syntax OK

[root@localhost ~]# systemctl restart httpd      重启服务

(3)浏览器或Linux中进行访问测试

为了方便我这里直接在Linux中测试了

[root@localhost ~]# curl 192.168.115.150

www.web1.com

[root@localhost ~]# curl 192.168.115.160

www.web2.com

5、Apache虚拟主机基于域名配置方法

(1)创建web1和web2站点的目录和网页文件

[root@localhost ~]# mkdir -p /www/web{1..2}/logs/

[root@localhost ~]#echo 'www.web1.com'>/www/web1/index.html

[root@localhost ~]# echo 'www.web2.com'>/www/web2/index.html

[root@localhost ~]# tree /www

/www

├── web1

│   ├── index.html

│   └── logs

└── web2

├── index.html

└── logs

(2)修改Apache相关配置文件

[root@localhost ~]# vim /usr/local/apache2/conf/httpd.conf

Include conf/extra/httpd-vhosts.conf     删除这一行的注释

[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<VirtualHost www.web1.com:80>

DocumentRoot "/www/web1"

ServerName www.web1.com

ServerAlias web1.com

ErrorLog "/www/web1/logs/web1_error.log"

CustomLog "/www/web1/logs/web1_access.log" common

<Directory "/www/web1">

Options Indexes

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

<VirtualHost www.web2.com:80>

DocumentRoot "/www/web2"

ServerName www.web2.com

ErrorLog "/www/web2/logs/web2_error.log"

CustomLog "/www/web2/logs/web2_access.log" common

<Directory "/www/web2">

Options Indexes

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

[root@localhost ~]# systemctl restart httpd

(3)浏览器或Linux中进行访问测试

为了方便我这里直接在Linux中测试了

[root@localhost ~]# curl www.web1.com

www.web1.com

[root@localhost ~]# curl www.web2.com

www.web2.com

6、Apache虚拟主机基于端口配置方法

(1)创建web1和web2站点的目录和网页文件

[root@localhost ~]# mkdir -p /www/web{1..2}/logs/

[root@localhost ~]#echo 'www.web1.com'>/www/web1/index.html

[root@localhost ~]# echo 'www.web2.com'>/www/web2/index.html

[root@localhost ~]# tree /www

/www

├── web1

│   ├── index.html

│   └── logs

└── web2

├── index.html

└── logs

(2)修改Apache相关配置文件

[root@localhost ~]# vim /usr/local/apache2/conf/httpd.conf

Include conf/extra/httpd-vhosts.conf     删除这一行的注释

Listen 80        添加监听的端口

Listen 8080

[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

DocumentRoot "/www/web1"

ServerName www.web1.com

ServerAlias web1.com

ErrorLog "/www/web1/logs/web1_error.log"

CustomLog "/www/web1/logs/web1_access.log" common

<Directory "/www/web1">

Options Indexes

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

<VirtualHost *:8080>

DocumentRoot "/www/web2"

ServerName www.web2.com

ErrorLog "/www/web2/logs/web2_error.log"

CustomLog "/www/web2/logs/web2_access.log" common

<Directory "/www/web2">

Options Indexes

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

[root@localhost ~]# systemctl restart httpd

(3)浏览器或Linux中进行访问测试

为了方便我这里直接在Linux中测试了

[root@localhost ~]# curl 192.168.115.150:80

www.web1.com

[root@localhost ~]# curl 192.168.115.150:8080

www.web2.com

以上就是Apache虚拟主机配置的三种不同方法,可以根据实际需要进行配置。

转载于:https://blog.51cto.com/longlei/2093471

Apache虚拟主机配置详解相关推荐

  1. Apache 虚拟主机设置详解

    Apache 虚拟主机设置详解 我们通常所说的虚拟主机技术就是将一台(或者一组)服务器的资源(系统资源.网络带宽.存储空间等)按照一定的比例分割成若干台相对独立的"小主机"的技术. ...

  2. Ubuntu 16.04与Apache虚拟主机配置的步骤详解

    这篇文章主要给大家介绍了关于Ubuntu 16.04与Apache虚拟主机配置的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ubuntu16.04系统具有一定的参考学习价值,需要的朋友 ...

  3. Linux下Apache虚拟主机配置

    说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /us ...

  4. Windows系统中apache虚拟主机配置

    参考文章如下: WINDOWS 下APACHE虚拟主机配置 Apache网站目录访问权限设置 首先,在Apache24文件夹中找到conf文件夹,并打开其中的extra文件夹,选择httpd-vhos ...

  5. linux apache部署php,Linux下apache虚拟主机配置多版本php同时运行 | 系统运维

    学习本教程须掌握: 1.Linux下指定版本编译安装LAMP 2.Linux下Apache虚拟主机配置 3.CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5 ...

  6. 简单介绍apache虚拟主机配置的三种方式

    本文主要介绍了apache虚拟主机配置的三种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 记事本打开httpd.conf文 ...

  7. Linux中级实战专题篇一:nginx服务(特性优势,yum安装,编译安装详解,虚拟主机技术详解)

    一.HTTP 介绍 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器 ...

  8. windows下Apache虚拟主机配置

    找到host文件:C:\Windows\System32\drivers\etc\hosts 在hosts这么增加: 127.0.0.1 666.666.com 127.0.0.1 777.777.c ...

  9. linux apache ip配置,linux apache虚拟主机配置(基于ip,端口,域名)

    配置环境: linux版本:Centos6.4 httpd版本: [[email protected] init.d]# pwd /etc/init.d [[email protected] init ...

最新文章

  1. 深入理解JVM(6)——类加载器
  2. pygame学习和python巩固——字体显示
  3. Spring Cloud:指定Eureka Serverd IP地址
  4. CABAC之手把手教你编码
  5. 两台linux之间互传php脚本,linux下两台服务器实现同步的方法
  6. 2017年网易校招题 输入一个数将其变为斐波那契数(最小步数)
  7. 《Python编程从入门到实践》记录之Python处理CSV文件数据
  8. IIS7下访问ashx页面,显示404
  9. Linux的EXPORT_SYMBOL和EXPORT_SYMBOL_GPL的使用和区别
  10. Servlet+Ajax实现搜索智能提示
  11. Centos7中完美搭建ftp服务器
  12. mysql insert优化_如何优化MySQL insert性能
  13. 【数据结构】线性表的链式存储结构
  14. 光纤的用途及主要种类
  15. 【舞女编程语言】:Ballerina 最新版和Ballerina Central
  16. EMACS 使用手册
  17. 简单易懂的颜色透明度计算
  18. Debian 下安装中文语言包和中文输入法
  19. 个人财务管理系统项目
  20. 保存切片找不到html,HTML5切片,结果文件损坏

热门文章

  1. assertThat断言测试方法
  2. 【整理】EFI/UEFI BIOS 入门 : All For Beginners
  3. 计算机教研实训报告,2020计算机实训心得体会范文
  4. MVC框架基本工作原理
  5. [Ant][StartWithAnt] 第七章 Ant扩展包ant-contrib的使用
  6. Tomcat的基本配置
  7. <OS Concepts> 1- Intro
  8. Java重写的7个规则
  9. PCB与PE(大地)相连技术文章
  10. c语言 数字翻译成英文,100数字翻译成英语?