[Linux]Apache配置虚拟主机

Apache 配置虚拟主机的方式很多,种类也很多,主要分为两类:

基于名称的虚拟主机 (每个 IP 多个站点)

基于 IP 的虚拟主机 (每个 IP 一个站点)

基于名称的虚拟主机:  www.2cto.com

windows下  Apache 的配置文件 conf/httpd.conf 中加载 虚拟主机配置文件  /extra/httpd-vhosts.conf

找到 Include "conf/extra/httpd-vhosts.conf" 取消注释即可。

现在,到httpd-vhosts.conf中,开始配置我们的虚拟主机。

假设 我们有两个不同的站点在同一apache服务器上,www.a.com  和 www.b.com 都指向 同一ip :***.***.***

我们希望 www.a.com访问网站 a,目录为 /htdocs/a

www.b.com访问网站 b,目录为 /htdocs/b

httpd-vhosts.conf 代码如下:

01

NameVirtualHost *:80  //指定所有的ip 端口访问

02

<VirtualHost *:80>

03

ServerName www.a.com

04

DocumentRoot "X:/htdocs/a"

05  www.2cto.com

<Directory "X:/htdocs/a"> //如果不添加,这会出现  AccessForbidden

06

Options Indexes FollowSymLinks

07

AllowOverride All //默认为 AllowOverride None 此处修改为 All 目的是可以访问 .htaccess

08

Order allow,deny

09

Allow from all

10

</Directory>

11

</VirtualHost>

12

13

<VirtualHost *:80>

14

ServerName www.b.com

15

DocumentRoot "X:/htdocs/b"

16

<Directory "X:/htdocs/b">

17

Options Indexes FollowSymLinks

18

AllowOverride None

19  www.2cto.com

Order allow,deny

20

Allow from all

21

</Directory>

22

</VirtualHost>

至此,你的配置应该已经结束了。但是先别急着重启服务器,先使用httpd -S 命令来看看apache是如何解析的吧。如果修改了httpd.conf 文件,请使用 httpd -t命令。

如果你看到

1

default server www.a.com(F:/apache/conf/extra/httpd-vhosts.conf:46)

2

3

port 80 namevhost www.a.com(F:/apache/conf/extra/httpd-vhosts.conf:46

4

5

port 80 namevhost www.b.com (F:/apache/conf/extra/httpd-vhosts.conf:57

6  www.2cto.com

Syntax OK

那么,去重启服务器后,访问 www.a.com 吧。他会解析 a目录下的网站了。

如果你没有域名而只是想在本地测试下效果的话,很简单,在你的hosts文件中加上

1

127.0.0.1  www.a.com

2

127.0.0.1  www.b.com

这样就可以了。

基于Ip的大家可以试试把* 修改为ip看看。

时间: 2024-08-05 06:49:44

[Linux]Apache配置虚拟主机的相关文章

windows环境利用apache 配置虚拟主机

1.修改http.host #LoadModule vhost_alias_module modules/mod_vhost_alias.so #Include conf/extra/httpd-vhosts.conf 去掉这两项的# 2.修改httpd-vhosts.conf添加如下内容 <VirtualHost 127.0.0.1:80> DocumentRoot D:/wamp/www/trc ServerName www.abc.com </VirtualHost> 3.修

Linux apache开启虚拟主机伪静态.htaccess

打开apache配置文件 /etc/httpd/conf/httpd.conf 查找"#LoadModule rewrite_module modules/mod_rewrite.so" 去掉前面的#号,如果没有的话就添加这句话,记得不要带#号. 允许在任何目录中使用".htaccess"文件,将httpd.conf配置文件内这句"AllowOverride"改成"All"(默认为"None"): Allo

apache配置虚拟主机时需要注意到几个小细节

如今apache在web服务器这块市场占有率还是很高的,而配置虚拟主机现在也是用的非常多,不过在配置虚拟主机的时候一定要注意几个小细节. 首先要注意你的apache版本,注意是2.2还是2.4的. 配置2.2的时候,配置虚拟主机该这样写: NameVirtualHost ip:80   //注意此处与2.4不同 <VirtualHost ip:80> ServerName www1.myweb.com DocumentRoot "/myweb/vhost/www1" <

win10下关于apache配置虚拟主机

apache安装完默认是不开启虚拟服务器的,如果希望在本地apache上面配置虚拟服务器,类似于在网上买的虚拟主机,可以按照以下步骤进行配置: 1,修改本机的hosts文件,如下 示例:127.0.0.1 localhost127.0.0.1 xlb.com 127.0.0.1 xlb2.com 2,打开Apache的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. LoadModule vhost_alias_module modules/mod_vhost_alias

CentOS 5上Apache配置虚拟主机范例

昨天实践了下在CentOS 5上通过Apache直接配置虚拟主机,服务器没有安装面板软件,所以只能通过SSH远程连接操作了.Apache安装在/etc/httpd目录下,这个即是Apache的根目录,所以Apache配置文件/etc/httpd/conf/httpd.conf中的ServerRoot设置的是ServerRoot “/etc/httpd”.我们编辑httpd.conf,在虚拟主机配置区看到如下的代码: #NameVirtualHost *:80ps:中间数行无关紧要注释略去了.#<

Apache配置虚拟主机后,不能访问localhost的问题

今天想试用一下php7,但是发现php7只支持Apache2.4版本,而我电脑上的Apache是2.2版本,为了想尝鲜,就必须去下载新的Apache2.4 php7和apache2.4安装整合以后,localhost可以正常访问,没问题. 然后我又配置了几个虚拟主机,这时候,虚拟主机可以正常访问,但是localhost就访问不了了. 其实以前这种问题我也经历过,比如我之前用的php5.4搭配Apache2.2,就可以虚拟主机和localhost都可以访问: 但是我之前怎么解决的我也不记得了,今天

mac 安装apache 配置虚拟主机

来源:http://blog.csdn.net/qianling3439/article/details/29410381 启动Apache 打开“终端(terminal)”,输入 sudo apachectl -v,(可能需要输入机器秘密).如下显示Apache的版本 接着输入 sudo apachectl start,这样Apache就启动了.打开Safari浏览器地址栏输入 “http://localhost”,可以看到内容为“It works!”的页面.其位于“/Library(资源库)

apache配置虚拟主机 个人理解

范例 Listen 80 #NameVirtualHost * <VirtualHost *:8080> ServerName apacheconfig2 DocumentRoot /var/www/apacheconfig/test1 DirectoryIndex index.html #站点的默认访问资源,即不指明请求资源时,默认访问index.html文件 <Directory "/var/www/apacheconfig/test1"> #设置对目录的访

linux apache服务器配置虚拟主机

楼主用的是阿里云 配置虚拟主机需要在 /alidata/vhosts/default.conf文件中加以下内容 <VirtualHost *:80> DocumentRoot /alidata/www/default/baby ServerName www.nixiaofeng.xyz ServerAlias www.nixiaofeng.xyz <Directory "/alidata/www/default/baby">     Options Indexe