如何设置apache的虚拟主机

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-08
如何配置 Apache 的虚拟主机

打开httpd.conf文件
去掉LoadModule vhost_alias_module modules/mod_vhost_alias.so
这句前面的#号

Include conf/extra/httpd-vhosts.conf这句前面的#号

Include conf/extra/httpd-vhosts.conf这句在httpd.conf文件底部

然后打开Apache2.2\conf\extra下的httpd-vhosts.conf文件,加入如下代码

#配置自己的虚拟主机

#网站目录,如果在www目录下的php目录,下面 #就填写F:/www/php
DocumentRoot "D:/WALP/www"
#域名
ServerName www.plqjnet.com
#这里配置欢迎首页面
DirectoryIndex index.html index.htm index.php

Options FollowSymLinks
#不允许别人修改我们的页面
AllowOverride None
#设置访问权限
order allow,deny
Allow from all



把ServerName改成你自己的,最后重启Apache。

解析慢?域名解析生效时间不可能解决之后立马生效的!肯定存在一个生效时间
你的设置没看出什么问题

Apache 配置虚拟主机三种方式

一、基于IP

1. 假设服务器有个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

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

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

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

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


4. 在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>

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

二、基于主机名

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

192.168.1.10  www.test1.com
192.168.1.10  www.test2.com
192.168.1.10  www.test3.com

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

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


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

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

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

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

NameVirtualHost *:80
<VirtualHost *:80>  

ServerName *

DocumentRoot /www/ 

</VirtualHost>

<VirtualHost *: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 *:80>

ServerName www.test2.com

DocumentRoot /www/test2/

<Directory "/www/test2">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

<VirtualHost *:80>

ServerName www.test3.com

DocumentRoot /www/test3/

<Directory "/www/test3">

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

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

三、基于端口

1.  修改配置文件

将原来的

Listen 80
改为
Listen 80
Listen 8080


2. 更改虚拟主机设置:

<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>



  • 如何在Debian 10上安装Apache并设置虚拟主机
    答:Apache HTTP Server 是目前应用最多的 web server 服务软件之一,Apache提供了许多强大的功能,而且可以通过其他模块进行扩展。Apache HTTP Server是一个开源的跨平台的服务器软件,目前大部分网站都采用Apache作为网站HTTP服务器。在本教程中,我们将向你介绍如何在Debian 10中安装Apache并配置虚拟主机。首先...
  • apache如何配置phpapache如何配置php
    答:3、配置虚拟主机 VirtualHost192.168.11.108> ServerName192.168.11.108 DocumentRootc:/www/test/ /VirtualHost> 注意VirtualHost与ServerName一致,除非你有DNS主机。这个ip是我本机的,你要改成你机器的ip,如果不会查IP另 如何搭建php服务器?你应该是想问wampserver吧,wamp软件是个统称,代表...
  • 如何在Windows系统中配置Apache虚拟主机
    答:在Windows系统中配置Apache虚拟主机的方法:1、打开{Apache安装目录}/conf/extra目录,找到httpd-vhosts.conf文件 2、编辑httpd-vhosts.conf文件,添加如下内容:ServerAdmin webmaster@youremail.com DocumentRoot "c:/your_web_root"ServerName your.domain.com ErrorLog "logs/your_web_error.log"Custom...
  • 如何在Macbook上配置Apache虚拟主机
    答:granted 7、重启Apache,输入命令:apachectl restart 8、由于是在本地测试开发网站,还需要修改hosts文件,来将你的域名xiaohua. com对应本地的IP,输入命令:vim /etc/hosts 9、添加如下内容:127.0.0.1 xiaohua.com 10、保存 11、完成配置后,在浏览器输入xiaohua.com就能访问你本地的网站了 ...
  • apache怎样设置
    答:4、首先设置使虚拟机访问外网,选中虚拟机,右击选择“设置”。在设置中选择“网络”,然后点击“网卡1”,选择“网络地址转换(NAT)”模式,点击“确定”。此时,虚拟机应该可以访问外网了。5、Apache的IP地址和端口。一般来说不需要设置,Apache会绑定在本机所有IP地址的80端口上。Port80Apache的端口。
  • 如何在Windows系统中配置Apache虚拟主机
    答:在Windows系统中配置Apache虚拟主机的方法:1、打开{Apache安装目录}/conf/extra目录,找到httpd-vhosts.conf文件 2、编辑httpd-vhosts.conf文件,添加如下内容:<VirtualHost *:80> ServerAdmin webmaster@youremail.com DocumentRoot "c:/your_web_root"ServerName your.domain.com ErrorLog "logs/your_...
  • 1个外网IP怎么解决两个域名上网
    答:设置。设置Apache虚拟主机通常有两种方案 一、基于IP的虚拟主机 这种方式需要在机器上设置IP别名,象上面的例子,在一台机器的 网卡上绑定多个IP地址去服务多个虚拟主机。若该机器的IP地址为192.168.11.2(account.yourdomain.com),首先 你要设置IP别名(假设用192.168.11.4作为其别名IP)。加下面的行...
  • apache 基于域名虚拟主机配置,本机上访问 www.test.com指向 127.0.0.1...
    答:注:1、win 下 hosts文件路径:C:\WINDOWS\system32\drivers\etc\hosts 2、绑定hosts,是为了访问 www.test.com时,指向的IP是你自己的电脑;hosts文件绑定后,你可以用cmd ping命令,ping www.test.com,测试ping到的IP是不是你自己设置IP(127.0.0.1)二、apache配置文件修改 1、打开apache配置...
  • windows下apache配置
    答:(3)设置网站的首页可通过DirectoryIndex字段设置。 (4)日志设置,可以在Customlog设置访问日志的路径,通过LogFormat设置日志的格式。 通过ErrorLog字段来定义错误日志的路径,LogLevel记录了日志的级别,这里设置为记录警告信息以上的日志。 5.apache虚拟主机配置 (1)基于IP的虚拟主机,各个名词的含义已...
  • 如何在Macbook上配置Apache虚拟主机
    答:去掉LoadModule vhost_alias_module modules/mod_vhost_alias.so 这句前面的#号 和 Include conf/extra/httpd-vhosts.conf这句前面的#号 Include conf/extra/httpd-vhosts.conf这句在httpd.conf文件底部 然后打开Apache2.2\conf\extra下的httpd-vhosts.conf文件,加入如下代码 配置自己的虚拟主机 <...