Apache中配置虚拟主机具体说明

在这里,我只介绍一种简单也比较常用的配置虚拟主机的方法。就是基于名称的虚拟主机配置:
第一步:
在conf文件中的httpd.conf中找到

 代码如下 复制代码

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

然后把上面的改为:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

第二步:

在conf/extra文件下找到httpd-vhosts.conf,在最后面添加如下代码:

# www.xxxx改为你想要的任意域名

 代码如下 复制代码

ServerName www.111cn.net

#这里是你的放网址的文件夹地址。。。

 代码如下 复制代码

DocumentRoot “D:/www/php”
DirectoryIndex index.html index.htm index.php

Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

第三步:

在C:/windows中搜hosts文件,然后添加
127.0.0.1 www.111cn.net

第四步:

重启Apache!看到没,配置虚拟主机就是这么简单,这些都是经过本人亲自测试过的,所以可以放心使用。

或许有些同学会出现一些问题,如我配置完上面的虚拟主机之后,www.111cn.net 可以正常访问,但是http://localhost反而挂了,不能访问了。怎么办呢?不用急,零星人帮你解决问题。

解决方法如下:

在conf/extra文件下找到httpd-vhosts.conf,在最后面再添加一段代码:

 代码如下 复制代码

ServerName http://localhost
DocumentRoot “D:/www”
DirectoryIndex index.html index.htm index.php

Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

然后在C:/windows中搜hosts文件,再添加一句
127.0.0.1 localhost

重启Apache!!!

其它操作系统中配置方法

Redhat Enterprise Linux (包括 CentOS Linux), 是使用最广的 Linux 服务器, 大量的网站应用都部署在其上.

1. 打开文件 /etc/httpd/conf/httpd.conf, 搜索 VirtualHost example, 找到代码如下:

 代码如下 复制代码
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<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
#</VirtualHost>

2. 仿照例子, 添加一段代码来指定某一域名的网站.

 代码如下 复制代码
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/httpdocs/demo_neoease_com
    ServerName demo.neoease.com
    ErrorLog logs/demo.neoease.com-error.log
    CustomLog logs/demo.neoease.com-access.log common
</VirtualHost>

3. 重启 httpd 服务, 执行以下语句.

 代码如下 复制代码

service httpd restart

Ubuntu Linux

Ubuntu 在 Linux 各发行版中, 个人用户数量最多的. 很多人在本机和虚拟机中使用. 但 Ubuntu 和 Redhat 的 VirtualHost 设置方法不相同.

1. 打开目录 /etc/apache2/sites-available/, 发现 default 和 default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件名必须与域名一致 (如: demo.neoease.com)

2. 打开新建的配置文件, 修改 DocumentRoot, ServerName 和对应的配置目录. 例子如下:

 代码如下 复制代码
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/httpdocs/demo_neoease_com
    ServerName demo.neoease.com
    ErrorLog ${APACHE_LOG_DIR}/demo.neoease.com-error.log
    CustomLog ${APACHE_LOG_DIR}/demo.neoease.com-access.log combined
</VirtualHost>

3. 通过 a2ensite 激活虚拟主机配置

 代码如下 复制代码
sudo a2ensite demo.neoease.com

4. 打开目录 /etc/apache2/sites-enabled/, 你会发现所有激活的虚拟主机, 可以通过 a2dissite 进行注销

 代码如下 复制代码
sudo a2dissite demo.neoease.com

5. 重启 Apache 服务, 激活虚拟主机

 代码如下 复制代码
sudo /etc/init.d/apache2 restart

 

Windows
Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异, 以下方式适合原生 Apache, XAMPP 和 WAMP 套件.

1. 打开目录 {Apache2 安装目录}confextra, 找到 httpd-vhosts.conf 文件.

2. 仿照例子, 添加一段代码来指定某一域名的网站.

 代码如下 复制代码
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "D:/workspace/php/demo_neoease_com"
    ServerName demo.neoease.com
    ErrorLog "logs/demo.neoease.com-error.log"
    CustomLog "logs/demo.neoease.com-access.log" common
</VirtualHost>

3. 打开 httpd.conf 文件, 添加如下语句.

 代码如下 复制代码
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

4. 重启 Apache 服务.

时间: 2024-11-08 17:55:44

Apache中配置虚拟主机具体说明的相关文章

apache24 配置问题-wampserver集成环境中配置虚拟主机总是出现403Forbidden

问题描述 wampserver集成环境中配置虚拟主机总是出现403Forbidden 页面错误提示 Forbidden You don't have permission to access / on this server. Apache/2.4.9 (Win32) PHP/5.5.12 Server at www.myshop.com Port 80 我按照经验修改过的地方: 1.在httpd.conf加载hosts模块 # Virtual hosts Include conf/extra/

apache 动态配置虚拟主机

问题描述 apache 动态配置虚拟主机 有人知道Apache怎么动态配置虚拟主机?配置完成之后应该怎么访问?

在Tomcat5.x中配置虚拟主机

原由: 搞了一段时间的WEB项目(基于JSP+JavaBean技术,服务器为Apache+Tomcat)发现我们的项目文件都放在了TOMCAT_HOME\webapps中,虽说可以通过server.xml配置我们的项目到其他目录,但是当项目多了的时候server.xml将变得及其臃肿,而且混乱不堪:不易管理与维护. 为了避免以上情形不在发生,为了项目更加便于管理接下来将向大家介绍的是只在server.xml中配置一两个虚拟主机来解决对项目的集中管理,而且每个项目所需的配置文件也不必再添加到ser

分享三种Apache配置虚拟主机的方式_Linux

一.基于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文件,添加三个域名与之一一对应:

Apache配置虚拟主机及开启rewrite模式

Apache配置虚拟主机 修改httpd.conf 启用Virtual hosts #Include conf/extra/httpd-vhosts.conf (查找这行,把前面的#去掉) 注释 DocumentRoot "D:/Program Files/Apache/Apache2.2/htdocs" 注释 #<Directory /> #    Options FollowSymLinks #    AllowOverride None #    Order deny

Nginx中如何配置虚拟主机

虚拟主机:将一台服务器虚拟出多台主机,每台虚拟主机都可以是一个独立的网站,都可以具有独立的域名,具有完整的Intemet服务器功能.同一台主机上的虚拟主机之间是完全独立的. 简单说就是你有两个完全独立的网站,可以利用虚拟主机在一台服务器上跑. 跟Apache -样,Nginx也可以配置多种类型的虚拟圭机:一是基于IP的虚拟主机,二是基于域名的虚拟主机,三是基于端口的虚拟主机. nginx.conf http { --- #server就是定义主机的 #server { # listen 8000

apache配置虚拟主机,为什么总是第一个VirtualHost起效

问题描述 hosts配置如下:/*********************************127.0.0.1localhost127.0.0.1school.jiaoyu365.net127.0.0.1m.jiaoyu365.net127.0.0.1c.jiaoyu365.net127.0.0.1api.app.jiaoyu365.net/*********************************httpd.conf配置如下/***************************

ubuntu配置apache与nginx虚拟主机详解

apache虚拟主机配置  代码如下 复制代码 #创建目录# $mkdir /var/www/phperstar #创建虚拟主机配置文件# $cd /etc/apache2/sites-enabled/ $vi websitename #复制一下内容,贴入配置文件,保存退出# <VirtualHost *:80>         ServerAdmin webmaster@localhost         ServerName www.111cn.net    #改成自己想用的域名#    

Nginx基于IP,端口,域名配置虚拟主机

Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.Nginx同Apache httpd一样,Nginx也提供基于IP,基于端口以及域名方式的形式来配置虚拟主机. 一.什么是虚拟主机 虚拟主机是使用特殊的软硬件技术,把一台真实的物理服务器主机分割成多个逻辑存储单元.每个逻辑单元都没有物理实体,