Apache22中配置虚拟主机(Apache VirtualHost)

Apache VirtualHost的作用就是可以让一个apache为多个域名服务,相当于一个服务器挂了N多个网站,举个例子:

我的apache服务器,ip为x.x.x.x,我有两个域名www.tootoogo.org和lp.tootoogo.org,设置这两个域名都指向x.x.x.x,在apache服务器上设置virtual host后,apache服务器可以实现同时为这两个域名服务,使得这两个域名分别指向不同的网页,于是我的一个服务器上就同时有了两个网站。

Apache VirtualHost配置方法:
在httpd.conf文件末尾添加以下内容

NameVirtualHost *:80

<VirtualHost *:80>
ServerAlias www.tootoogo.org  #貌似这一行没必要
DirectoryIndex index.html index.php
DocumentRoot "/var/www/data1/“
ServerName www.tootoogo.org
ErrorLog "log/tootoogo-error_log"

CustomLog "logs/tootoogo.access"

</VirtualHost>

<VirtualHost *:80>
DirectoryIndex index.html index.php
DocumentRoot /var/www/data2/

ServerName lp.tootoogo.org

ErrorLog "log/lp.tootoogo-error_log"

CustomLog "logs/lp.tootoogo.access"

</VirtualHost>

这样就可以使用两个域名解析到同一IP上却得到不同页面。

如果要禁止用户直接用IP进行访问,只要在
NameVirtualHost *:80
这句之后插入以下内容:

<VirtualHost *:80>
ServerName YourIpAddress
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>

备注:

修改httpd.conf中的
<Directory "/usr/local/www/apache22/data">

<Directory "/usr/local/www/apache22/">
那么就可以
使用下面的目录分别放置这两个域名对应的网页了
DocumentRoot /usr/local/www/apache22/data1
DocumentRoot /usr/local/www/apache22/data1

////////////////题外话////////////

如果需要监听其他端口号,可以加入

Listen yourIP:port,例如Listen 192.168.1.1:8081,那么对应的

NameVIrtualHost *:8081<VirtualHost *:8081>

ServerName www.tootoogo.org:8081

//////////////////////////////////

Apache22中配置虚拟主机(Apache VirtualHost)

时间: 2024-10-19 22:17:03

Apache22中配置虚拟主机(Apache VirtualHost)的相关文章

php中配置虚拟主机

在httpd.conf 文件中启用 httpd-vhosts.conf就是把#注销掉# Virtual hosts ,虚拟主机Include conf/extra/httpd-vhosts.conf 假设我们的虚拟主机在 f:/myweb 盘 [该站点,事先有]设置http-vhosts.conf文件#配置我们自己的虚拟主机<VirtualHost127.0.0.1:80> DocumentRoot "d:/myblog" #这里配置欢迎首页面 DirectoryIndex

在wampserver3.0.6中配置虚拟主机(设置二级域名)

高版本(wampserver3.0.6中为apache2.4.23)apache的配置文件httpd.conf,关于虚拟主机的配置不同于低版本,遇到问题网上搜索到的解决方式大部分是低版本的.以下是通过调试的配置方式: 第一步:打开httpd.conf,去掉虚拟主机配置文件httpd-vhosts.conf注释 # Virtual hosts Include conf/extra/httpd-vhosts.conf 第二步:配置httpd-vhosts.conf文件 <VirtualHost *:

nginx中配置虚拟主机

今天做了一个nginx的多虚拟主机的实验,遇到了一些问题.首先介绍一下配置文件如何修改.如下是我的主配置文件nginx.conf user nobodynobody; worker_processes2; error_log/usr/local/nginx/logs/nginx_error.log crit; pid/usr/local/nginx/logs/nginx.pid; worker_rlimit_nofile51200; events { use epoll; worker_conn

Apache虚拟主机(VirtualHost)配置

首先找到Apache的配置文件httpd.conf find / -name httpd.conf 找到以下代码处 #Virtual hosts #Include conf/extra/httpd-vhosts.conf 按照上面的格式加入一行,你的虚拟主机配置文件,当然,你可以先加入再去写配置 Include conf/extra/httpd-vhosts.端口号.conf #此处填写端口号是为了统一管理,便于记忆 之后新建配置文件,在配置文件中输入以下信息 touch conf/extra/

关于Apache服务器中配置虚拟目录和虚拟主机

一.配置虚拟目录: ① ②注销DocumentRoot路径(这个配置文件中使用'#'来注释一行语句) ③关于配置的虚拟路径中权限设置语句的解读 例图: 图中语句的意思是: order表示读取语句是先allow,后deny.所以执行顺序是:allow(允许所有ip访问站点文件夹)--->deny(拒绝所有ip访问站点文件夹)--->allow from 218.20.253.2(允许ip地址218.20.253.2访问)--->deny from 218.20(拒绝所有以218.20开头的

虚拟机lamp环境下,Apache配置虚拟主机

1.在Apache配置文件中开启虚拟主机功能:即:Include etc//extra/httpd-vhosts.conf把前面的#去掉: 2.在extra目录下找到文件httpd-vhosts.conf,添加如下配置: <Directory "/Data/www/thinkphp"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Dire

在Apache中开启虚拟主机

最近在自学LAMP,在Apache中尝试着开启虚拟主机的时候,遇到了挺多麻烦的,这里也顺便总结一下,在Apache中开启虚拟主机的时候,主要有下面几个步骤: 1.新建一个文件夹作为虚拟主机,用来存储网站资源例如我是在Apache目录下新建了一个 htdocs_v 文件夹,里头新建了一个php文件,内容如下: <?php echo 'this is the first virtual host'; ?> 2.在配置文件中开启虚拟主机:打开Apache/conf/httpd.conf文件,修改如下

apache安装、配置虚拟主机、配置日志

apache的安装与配置 安装 01)下载httpd-2.2.27.tar.gz 02)解压:tar xf httpd-2.2.27.tar.gz 然后进入解压的文件查看INSTALL和RAEDME 03)直接make会出错,然后进行编译(也会有问题,这时候yum -y install zlib zlib-devel即可解决),然后进行编译: ./configure --prefix=/application/apache2.2.27 \   安装路径 --enable-deflate \   

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