CentOS系统Apache虚拟主机配置详解

NameVirtualHost *:80  

注意一:NameVirtualHost 指定虚拟主机所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虚拟主机时,NameVirtualHost是必要的指令。NameVirtualHost可以定义多个。

注意二:所有符合NameVirtualHost或<VirtualHost>标签定义的请求,都会被作为虚拟主机处理,而主服务器将不理 会。NameVirtualHost定义了而<VirtualHost>标签没有定义的的请求,服务器会找不到相应的虚拟主机而将无法处理。 所以每个NameVirtualHost定义的参数至少要有一个<VirtualHost>相匹配。

注意三:如果设置NameVirtualHost 或<VirtualHost>为*:80的话,所有针对80端口的请求,都会被虚拟主机处理,请求会根据域名指向某个虚拟主机。如果有来自 80端口的请求,而所请求的域名没有被配置为虚拟主机,那将指向第一个虚拟主机。这样主服务器将无法收到来自80端口的任何请求。为此也要为主服务器配置 一个虚拟主机。

比如我们以IP192.168.0.3配置两个虚拟主机。
首先编辑 /etc/httpd/conf/httpd.conf配置文件

vi /etc/httpd/conf/httpd.conf

然后添加如下代码至文件底部:

NameVirtualHost 192.168.0.3
<virtualhost 192.168.0.3>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/website2
ServerName www.website2.com
ErrorLog /var/www/html/website2/logs/error_log
TransferLog /var/www/html/website2/logs/access_log
</virtualhost>
<virtualhost 192.168.0.3>
ServerAdmin admin@website3.com
DocumentRoot /var/www/html/website3
ServerName www.website3.com
ErrorLog /var/www/html/website3/logs/error_log
TransferLog /var/www/html/website3/logs/access_log
</virtualhost>

如果你有多个IP,则继续按以上代码添加,只需要修改192.168.0.3成你的IP即可。

让服务器支持多个网站,针对Apache,只需要你修改apache配置文件/etc/httpd/conf/httpd.conf即可。
里面有个example文件,你只要对应配置即可。

#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHos>

你可以参照我的配置,在httpd.conf最底部添加:

NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html
ServerName www.111cn.net
#ErrorLog /var/log/httpd/phpddt/error_log
#注意,这里我设置了以天为单位生产日志
ErrorLog "|rotatelogs /var/log/httpd/phpddt/error_log%Y_%m_%d.log 86400 480"
#CustomLog /var/log/httpd/phpddt/access_log common
CustomLog "|rotatelogs /var/log/httpd/phpddt/access_log%Y_%m_%d.log 86400 480" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/blog
ServerName m.111cn.net
ErrorLog /var/log/httpd/blog/error_log
CustomLog /var/log/httpd/blog/access_log common
</VirtualHost>

如上我配置了两台虚拟主机:域名分别为www.111cn.net  m.111cn.net
注意,重启apache后才生效(service httpd restart)

时间: 2024-08-01 11:04:35

CentOS系统Apache虚拟主机配置详解的相关文章

ubuntu快速配置apache虚拟主机方法详解

在ubuntu下,用apt-get install安装的apache,配置虚拟主机和平常在其它平台的不大一样 如果我想快速在本地建一个test.com的虚拟主机 下面是操作步骤: 1. 先绑定test.com到127.0.0.1  代码如下 复制代码 #vim /etc/hosts # 加上 127.0.0.1 test.com 2. 配置虚拟主机文件  代码如下 复制代码 #cd /etc/apache2/sites-available #vim test # 加上 <VirtualHost

centos系统Lvs负载均衡配置详解

实验用三台Vmware下虚拟的centos5.5服务器,一台作为负载调度器(Lvs-server),两台真实web服务器(web1,web2). 一.Lvs-nat实验: 配置IP: 1.window7下与虚拟机相连的网卡配置成8.8.8.1,不虚配置网关. 2.Lvs-server需要配置两块网卡,一块(eth0)模拟与外网连接(本实验下与Windows相连),一块(eth1)与内部真实服务器通信.eth0:8.8.8.8,eth1:192.168.10.1 3.web1:eth0:192.1

linux系统apache日志文件配置详解

Linux系统下apache日志文件设置(每天单独生成一个日志文件) 引言: Apache默认安装下,日志记录只有一个文件,时间久了之后,这个文件会变的很大,管理员要想查看分析日志,光打开日志就要花费很长时间,甚至还会影响服务器运行. 下面教大家设置apache,让服务器每天单独生成一个日志文件,这样管理.分析日志会方便很多. vi /etc/httpd/conf/httpd.conf #编辑文件 #ErrorLog logs/error_log #注释此行,添加下面这行  ErrorLog "

最新版apache虚拟主机配置与应用学习教程

要配置apache的虚拟主机,我们需要分以下几步进行: 1. 检查apache虚拟主机模块 2. 开启apache虚拟主机功能 3. httpd-vhosts.conf文件详解 4. 根据IP配置虚拟主机 5. 根据端口配置虚拟主机 6. 根据域名配置虚拟主机 一.检查apache虚拟主机模块 apache要配置虚拟主机,就需要先查看apache是否编译vhost_alias_module模块.当然apache默认是已经编译该模块的,我们可以通过以下命令查看是否已经编译模块,如下: /usr/l

域名-apache虚拟主机配置无效,直接跳回根目录的原因是什么?

问题描述 apache虚拟主机配置无效,直接跳回根目录的原因是什么? 使用的是apache2.4.9,将httpd-vhost文件里的模板复制一份更改后发现, 域名访问全部跳回网站根目录,这是什么原因? 解决方案 Include "conf/extra/httpd-vhosts.conf" 解决方案二: Apache 虚拟主机 VirtualHost 配置

apache 虚拟主机配置多IP配置方法

apache 虚拟主机配置多IP配置方法 开启虚拟主机配置文件 对httpd.conf进行设置: 1.注释以下三行 #ServerAdmin #ServerName #DocumentRoot 2.去掉mod_proxy.so和mod_proxy_ajp.so的注释 3.#Virtual hosts #Include conf/extra/httpd-vhosts.conf (查找这行,把前面的#去掉) /conf/extra/httpd-vhosts.conf 4.打开 /conf/extra

Linux系统下Apache虚拟主机配置的步骤

说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf-bak #修改之前先备份 vi /usr/local/apache/conf/httpd.conf #修改 找到# Virtual hosts这一行,添加以下两行: In

CentOS中vsftp安装与配置详解_Linux

一般我们在安装完系统后都会自动安装了vsftp服务了,但是有时候还是得需要自己动手的,比如这两天就在给我朋友配置了一下,顺手把过程记录下来,以便需要的时候查阅或者给需要的朋友提供方便:) 1. 安装 使用chkconfig --list来查看是否装有vsftpd服务: 使用yum命令直接安装: yum -y install vsftpd 然后为它创建日志文件: touch /var/log/vsftpd.log 这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your

apache虚拟主机配置-php在配置apache虚拟主机时启动虚拟主机配置后就无法启动apache

问题描述 php在配置apache虚拟主机时启动虚拟主机配置后就无法启动apache 在httpd.conf 配置虚拟主机: Virtual hosts ,虚拟主机 Include conf/extra/httpd-vhosts.conf 将上一句Include这句话打开后,apache就无法启动了,而且其他的配置都检查了,没有问题. 查看了error.log (部分log)是这样的: Starting the Apache2.2 service The Apache2.2 service is