你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux下Apache虚拟主机的配置

[日期:2016-04-19] 来源:Linux社区  作者:11号313 [字体: ]

      本文选择的httpd版本还是httpd-2.2.4。

       访问web服务,本质上看(从协议上)是访问某个IP的主机上的某个端口(默认是80)。通常需要通过访问不同的域名或者端口实现对不同网站的访问(具体到服务器里就是不同目录),这个时候就需要设置虚拟主机(VirtualHost).通常分为这样3种:
     (1)基于主机
      (2)基于端口
      (3)基于IP
以及这三种方式的混合。虚拟机的ip为192.168.109.40。本机的ip为192.168.109.1
准备工作:关闭防火墙,进入apache配置文件httpd.conf
找到这一行并注释掉DocumentRoot "/usr/local/apache/htdocs"
然后找到
#Virtual hosts
#Include /etc/httpd/extra/httpd-vhosts.conf将第二行启用,然后进入/etc/httpd/extra/httpd-vhosts.conf这样准备工作就完成了,下面分别设置虚拟主机的三种方法。
1、基于IP的虚拟主机配置方法。
我们可以在eth0上绑定多个ip地址。可以用ip addr add ip地址 dev eth0绑定ip。在这里我们绑定192.168.109.41与192.168.109.42这两个ip地址。 用ip addr show可以查看绑定完的信息,如下图所示
然后修改
/etc/httpd/extra/httpd-vhosts.conf里的内容。例如下面:
     ServerName www.a.com             设置虚拟主机名为www.a.com
     DocumentRoot "/www/b.com"   web页面存放位置
     Options none
     AllowOverride none
     Require all granted
    ErrorLog "/var/log/httpd/b.com-error_log"
    CustomLog "/var/log/httpd/b.com-access_log" common
同理,对配置192.168.109.42的虚拟主机只需要按上面内容复制,然后修改相应位置即可。
因为我们把web页面放在/www/a.com与/www/b.com下,所以创建这两目录
mkdir -p /www/a.com
mkdir -p /www/b.com
在a.com与b.com里面创建测试文件index.html。为了区分在a.com里的index.html的内容是:

a.com

b.com里的index.html的内容是:

b.com

配置完成后重启apache、
访问192.168.109.41,如下图

访问192.168.109.42,如下图

我们在访问下虚拟机ip 192.168.109.40
Linux下Apache虚拟主机的配置
由此可以知道已经配置成功
2、基于端口的虚拟主机配置方法。
还得先修改/etc/httpd/httpd.conf这个配置文件,如图所示:

默认监听端口号是80。我们配置基于端口8080的虚拟主机
只需要下面加一行:Listen 8080即可保存退出。
然后就是修改/etc/httpd/extra/httpd-vhosts.conf这个文件。以ip地址为192.168.109.41为例
如图所示:
Linux下Apache虚拟主机的配置
 
所以我们还得创建/www/c.com,这个目录,具体做法参考之前的。
访问192.168.109.41:80端口如下图所示

访问192.168.109.41:8080端口如下图所示

由此可以知道已经配置成功
2、基于域名的虚拟主机配置方法
由于我们在本地配置没有DNS服务器,所以我们需要自己在本地解析,现在以ip为192.168.109.42为例
本地解析DNS的做法是:打开我的电脑修改C:\Windows\System32\drivers\etc里的hosts文件
192.168.109.42 www.b.com
192.168.109.42 www.d.com
将这两行添加进去。然后在修改/etc/httpd/extra/httpd-vhosts.conf这个文件如图所示
同理,还得创建/www/d.com这里不在描述。
访问www.b.com,如下图所示

访问www.d.com,如下图所示

Ubuntu Server 14.04 安装Web服务器(Linux+Apache+MySQL+PHP)  http://www.linuxidc.com/Linux/2015-06/119061.htm

Linux下安装配置PHP环境(Apache2)  http://www.linuxidc.com/Linux/2015-05/118062.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

Apache 的详细介绍请点这里
Apache 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-04/130381.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款