apache虚拟主机配置的三种方式(小结)


Posted in Servers onJuly 23, 2022

记事本打开httpd.conf文件 ,该文件在apache的目录下,如: D:\AppServ\Apache2.2\conf,修改如下两处:

LoadModule vhost_alias_module modules/mod_vhost_alias.so   //去掉前面的#,意思是启用apache的虚拟主机功能,第203行
Include conf/extra/httpd-vhosts.conf  //去掉#的意思是从httpd-vhosts.conf这个文件导入虚拟主机配置

配置虚拟主机后 不能用localhost 访问

只需要把httpd.conf文件的ServerName localhost:80 那行注释掉 就可以了

一、基于IP

假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP:

[root@localhost root]# ifconfig eth0:1 192.168.1.11
[root@localhost root]# ifconfig eth0:2 192.168.1.12
[root@localhost root]# ifconfig eth0:3 192.168.1.13

修改hosts文件,添加三个域名与之一一对应:

192.168.1.11   www.test1.com
192.168.1.12   www.test2.com
192.168.1.13   www.test3.com

建立虚拟主机存放网页的根目录,如在/www目录下建立test1、test2、test3文件夹,其中分别存放1.html、2.html、3.html

/www/test1/1.html
/www/test2/2.html
/www/test3/3.html

在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置:

<VirtualHost 192.168.1.11:80>
  ServerName www.test1.com
  DocumentRoot /www/test1/
  <Directory "/www/test1">
     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow From All
   </Directory>
</VirtualHost>

<VirtualHost 192.168.1.12:80>
  ServerName www.test1.com
  DocumentRoot /www/test2/
  <Directory "/www/test2">
     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow From All
   </Directory>
</VirtualHost>

<VirtualHost 192.168.1.13:80>
  ServerName www.test1.com
  DocumentRoot /www/test3/
  <Directory "/www/test3">
     Options Indexes FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow From All
   </Directory>
</VirtualHost>

大功告成,测试下每个虚拟主机,分别访问www.test1.com、www.test2.com、www.test3.com

二、基于主机名

设置域名映射同一个IP,修改hosts:

127.0.0.1  gm.998gx.com
127.0.0.1  www.998gx.com
127.0.0.1  r.998gx.com
127.0.0.1  localhost

跟上面一样,建立虚拟主机存放网页的根目录

/www/dxGM/index.php
/www/dxskadmin/index.php
/www/88qp/index.php

在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置:

为了使用基于域名的虚拟主机,必须指定服务器IP地址(和可能的端口)来使主机接受请求。可以用NameVirtualHost指令来进行配置。 如果服务器上所有的IP地址都会用到, 你可以用*作为NameVirtualHost的参数。在NameVirtualHost指令中指明IP地址并不会使服务器自动侦听那个IP地址。 这里设定的IP地址必须对应服务器上的一个网络接口。

下一步就是为你建立的每个虚拟主机设定配置块,的参数与NameVirtualHost指令的参数是一样的。每个定义块中,至少都会有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容存在于文件系统的什么地方。

如果在现有的web服务器上增加虚拟主机,必须也为现存的主机建造一个定义块。其中ServerName和DocumentRoot所包含的内容应该与全局的保持一致,且要放在配置文件的最前面,扮演默认主机的角色。

<VirtualHost *:80> 
    DocumentRoot "D:/phpstudy/WWW/dxGM" 
    ServerName gm.998gx.com 
</VirtualHost>

<VirtualHost *:80> 
    DocumentRoot "D:/phpstudy/WWW/88qp" 
    ServerName www.998gx.com 
</VirtualHost>

<VirtualHost *:80> 
    DocumentRoot "D:/phpstudy/WWW/dxskadmin" 
    ServerName r.998gx.com 
</VirtualHost>

<VirtualHost *:80> 
    DocumentRoot "D:/phpstudy/WWW" 
    ServerName localhost 
</VirtualHost>

4. 大功告成,测试下每个虚拟主机,分别访问gm.998gx.com、www.998gx.com、r.998gx.com

三、基于端口

修改配置文件

将原来的
Listen 80
改为
Listen 80
Listen 8080

更改虚拟主机设置:

<VirtualHost 192.168.1.10:80>
    DocumentRoot /var/www/test1/
    ServerName www.test1.com
</VirtualHost>

<VirtualHost 192.168.1.10:8080>
    DocumentRoot /var/www/test2
    ServerName www.test2.com
</VirtualHost>

到此这篇关于apache虚拟主机配置的三种方式(小结)的文章就介绍到这了,更多相关apache虚拟主机配置内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
nginx 设置多个站跨域
Mar 09 Servers
nginx简单配置多个server的方法
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
详解nginx.conf 中 root 目录设置问题
Apr 01 Servers
Nginx四层负载均衡的配置指南
Jun 11 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
搭建Yolov5服务器
Apr 30 Servers
tomcat默认最大连接数及相关调整方法
May 06 Servers
Win Server2016远程桌面如何允许多用户同时登录
Jun 10 Servers
win server2012 r2服务器共享文件夹如何设置
Jun 21 Servers
Linux中一对多配置日志服务器的详细步骤
Jul 23 Servers
centos环境下nginx高可用集群的搭建指南
Jul 23 Servers
django项目、vue项目部署云服务器的详细过程
Jul 23 #Servers
Nginx报错104:Connection reset by peer问题的解决及分析
Jul 23 #Servers
centos环境下nginx高可用集群的搭建指南
Nginx如何配置根据路径转发详解
Jul 23 #Servers
Linux中一对多配置日志服务器的详细步骤
Jul 23 #Servers
Nginx如何限制IP访问只允许特定域名访问
Jul 23 #Servers
nginx访问报403错误的几种情况详解
Jul 23 #Servers
You might like
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
php恢复数组的key为数字序列的方法
2015/04/28 PHP
php计算税后工资的方法
2015/07/28 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
Js callBack 返回前一页的js方法
2008/11/30 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
vue中实现图片压缩 file文件的方法
2020/05/28 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
应届本科生推荐信范文
2013/12/25 职场文书
党员创先争优承诺书
2014/03/26 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
小学教师自我评价
2015/03/04 职场文书
高中生物教学反思
2016/02/20 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android