当前位置:  操作系统/服务器>linux

如何配置apache虚拟主机的实例小结

    来源: 互联网  发布时间:2014-08-25

    本文导语:  1、基于ip地址的虚拟主机 代码如下:Listen 80    DocumentRoot /home/httpd/html1    ServerName www.ok1.com    ErrorLog /usr/local/apache/logs/error1_log    CustomLog /usr/local/apache/logs/access1_log combined    DocumentRoot /home/httpd/html2    ServerName www.ok2.com...

1、基于ip地址的虚拟主机

代码如下:

Listen 80

    DocumentRoot /home/httpd/html1
    ServerName www.ok1.com
    ErrorLog /usr/local/apache/logs/error1_log
    CustomLog /usr/local/apache/logs/access1_log combined


    DocumentRoot /home/httpd/html2
    ServerName www.ok2.com
    ErrorLog /usr/local/apache/logs/error2_log
    CustomLog /usr/local/apache/logs/access2_log combined

 2、基于IP 和多端口的虚拟主机配置

代码如下:

Listen 172.20.30.40:80
Listen 172.20.30.40:8080
Listen 172.20.30.50:80
Listen 172.20.30.50:8080


 DocumentRoot /www/example1-80
 ServerName www.example1.com



 DocumentRoot /www/example1-8080
 ServerName www.example1.com


 DocumentRoot /www/example2-80
 ServerName www.example1.org


 DocumentRoot /www/example2-8080
 ServerName www.example2.org

3、单个IP 地址的服务器上基于域名的虚拟主机配置

代码如下:

# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

DocumentRoot /www/example1
ServerName www.example1.com
ServerAlias example1.com. *.example1.com
# Other directives here


DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here



如果您感觉上面的文章还不够详细可以看下下面的文章:

实验目标:在apache实现基于域名的虚拟主机
实验用的XAMPP版本为1.7.7,内含apache版本为2.2.21

实验前准备:

1. 为了测试不同的域名,在Windows/System32/drivers/etc/下觅得hosts文件,在其中添加实验用的域名若干,如 -

代码如下:

127.0.0.1   test1.net
127.0.0.1   test2.net

如此,则在浏览器中输入该俩域名时,Windows将其解析为127.0.0.1本地地址。即,在浏览器中访问localhost, test1.net, test2.net均可访问XAMPP的欢迎页。

2. 在apache目录下建立目录,以放置您不同的网站。为保护XAMPP原有的htdocs中的欢迎页内容,实验另外建立了与htdocs平级的htdocs1目录,在其下建立了test1.net, test2.net两个子目录用以放置实验用的网站。如下 -
apache/htdocs1/test1.net - 放置test1.net网站内容
apache/htdocs1/test2.net - 放置test2.net网站内容

 在这两个目录中各新建hello world一网页 index.html,内容 -

代码如下:




hello~, 这是[对应的网站名,用以区别].net
 

实验步骤:

1. 找到apache/conf/httpd.conf, 将其中的

ServerAdmin
ServerName
DocumentRoot
注释掉。

2. 在httpd.conf中,找到行

 Include "conf/extra/httpd-vhosts.conf"
如被注释则解注。该文件记载了虚拟主机的参数。[以前虚拟主机参数是直接填写在httpd.conf中的,为了更好地组织文件,将其分离出去,类似于某些编程语言一样。因此httpd.conf中include它,即相当于把它的内容填在了httpd.conf中。]

3. 这个httpd-vhosts.conf文件格式基本如下 -

代码如下:

#blah-blah
NameVirtualHost *:80
#blah-blah
#blah-blah

    ServerAdmin XXXXXXXX
    DocumentRoot "XXXXXXXX"
    ServerName XXXXXXX
    ServerAlias XXXXXX
    ErrorLog "logs/XXXXXX-error.log"
    CustomLog "logs/XXXXXXX-error.log" combined  

需要修改的,就是中的参数了。这个可以参见apache官方文档。根据实验域名,可以增加两个:

代码如下:


    ServerAdmin adm@test1.net
    DocumentRoot "C:/xampp/htdocs1/test1.net"
    ServerName test1.net
    ServerAlias www.test1.net
    ErrorLog "logs/test1-error.log"
    CustomLog "logs/test1-access.log" combined

   
    order allow,deny
    allow from all
       


    ServerAdmin adm@test2.net
    DocumentRoot "C:/xampp/htdocs1/test2.net"
    ServerName test2.net
    ServerAlias www.test2.net
    ErrorLog "logs/test1-error.log"
    CustomLog "logs/test1-access.log" combined

   
    order allow,deny
    allow from all
       

注意,如果不在各VirtualHost中定义Directory的可访问性,你将遇到的是Access Forbidden!就连原来的localhost也是。

4. 由于之前注释掉了httpd.conf中的ServerName, DocumentRoot等,为了仍然能以localhost访问原XAMPP欢迎页,就在增加一个VirtualHost,如下 -

代码如下:


    ServerAdmin adm@localhost
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost

    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" combined

   
    order allow,deny
    allow from all
       

为了避免出错,把它放置在第一个Virtualhost位置。

至此,apache基于域名的虚拟主机配置完成。可以通过http://localhost访问XAMPP欢迎页,通过http://test1.net和http://test2.net访问各自的主页。

#
# Virtual Hosts
#

# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
#
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any block.
#


    ServerAdmin kongdaoxian@gmail.com
    DocumentRoot "E:/skydao/apache2/htdocs"
    ServerName localhost
    ServerAlias www.skydao.com
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" combined

   
    order allow,deny
    allow from all
       


    ServerAdmin kongdaoxian@gmail.com
    DocumentRoot "E:/skydao/apache2/htdocs/project1"
    ServerName project1.com
    ServerAlias www.project1.com
    ErrorLog "logs/project1-error.log"
    CustomLog "logs/project1-access.log" combined

   
    order allow,deny
    allow from all
       


    ServerAdmin kongdaoxian@gmail.com
    DocumentRoot "E:/skydao/apache2/htdocs/zendTest/public"
    ServerName zendTest.com
    ServerAlias www.zendTest.com
    DirectoryIndex index.php
   
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
       


    ServerAdmin kongdaoxian@gmail.com
    DocumentRoot "E:/skydao/apache2/htdocs/testRewrite"
    ServerName testRewrite.com
    ServerAlias www.testRewrite.com
    # DirectoryIndex index.php
   
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
       


    ServerAdmin kongdaoxian@gmail.com
    DocumentRoot "E:/skydao/apache2/htdocs/test"
    ServerName test.com
    ServerAlias www.test.com
    ErrorLog "logs/zendTest-error.log"
    CustomLog "logs/zendTest-access.log" combined

   
    order allow,deny
    allow from all
       


    
 
 

您可能感兴趣的文章:

  • mantis安装、配置和使用中的问题小结
  • PHP配置文件应用(配置pdo与虚拟主机)
  • apache虚拟主机的配置问题,急,高分
  • 一个虚拟主机使用多个域名的配置方法(apache)该怎么写?
  • Apache中如何配置虚拟主机
  • bobosji(波波司机)帮忙:weblogic配置好了虚拟主机,怎样使用?
  • 怎样在tomcat 401上面配置一个虚拟主机?(更详细的提问)
  • apache 虚拟主机配置好了 为什么无法用域名访问
  • 主机换网卡了,里头的虚拟机怎么配置才能使用正常
  • 虚拟机中的Linux该怎么配置和主机同在一个网段的IP啊
  • 虚拟主机中phpMyAdmin的安装配置方法
  • Apache 配置多端口 多虚拟主机 局域网访问示例
  • apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
  • Lighttpd配置simple-vhost(简便的,自识别的虚拟主机)
  • XAMPP下使用顶级域名绑定虚拟主机的配置方法和示例
  • tomcat4.0,想用d:lulu做虚拟主机,d:luluapp做一个应用,配置文件如下,不成功,请帮忙改改
  • tomcat 3.3 + iis 下如何配置虚拟主机(host)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一个虚拟主机使用多个域名的配置方法(apache)该怎么写? iis7站长之家
  • Nginx中禁止使用IP访问网站的配置实例
  • 与Oracle RAC相关的连接配置写法实例
  • C#读写xml配置文件(LINQ操作实例)
  • Nginx图片防盗链配置实例
  • Oracle监听器Server端与Client端配置实例
  • win2003 安装2个mysql实例做主从同步服务配置
  • C# WinForm开发中使用XML配置文件实例
  • C#中读取App.config配置文件代码实例
  • 配置MySQL与卸载MySQL实例操作
  • linux下指定mysql数据库服务器主从同步的配置实例
  • linux proftpd-1.3.4c安装配置实例
  • Linux下指定mysql数据库数据配置主主同步的实例
  • C++读取INI配置文件类实例详解
  • PHP数据库万能引擎类adodb配置使用以及实例集锦
  • quartz实现定时功能实例详解(servlet定时器配置方法)
  • Hadoop1.2中配置伪分布式的实例
  • Centos中安装多个mysql数据的配置实例
  • C++ Strings(字符串) 成员 get_allocator():返回配置器
  • LINUX如何配置网卡,配置TELNET,急!在线等待!
  • C++ MultiMaps 成员 get_allocator():返回multimap的配置器
  • liunx下配置axis2的环境变量怎么配置
  • C++ Lists(链表) 成员 get_allocator():返回list的配置器
  • centos配置JAVA运行环境在配置JK时出错
  • C++ Maps 成员 get_allocator():返回map的配置器
  • 求xmanager3.0 配置root用户,连接redhat linux 6.0 配置文档
  • C++ Double Ended Queues(双向队列) 成员 get_allocator():返回双向队列的配置器
  • 高分求救!!!怎样在linux下配置tomcat文件?同时配置sqlServer数据库?
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • EJB配置好了,下次启动weblogic的时候还需要重新配置吗
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3