在做毕业设计的时候由于想将工作目录与毕业设计的目录分离,所以有此需求:

下面两种方法是google出来的,分别通过配置多ip和多端口实现,不是能否用单ip发布多个项目,如有方法请留言,学习一下

1.配置多个ip

简单的说,打开httpd.conf 在最后加入如下内容:

  1. <VirtualHost 127.0.0.2:80>
  2. DocumentRoot d:/AppServ/www2
  3. ServerName 127.0.0.2:80
  4. < irtualHost>
  5. <Directory "d:/AppServ/www2">
  6. Options Indexes FollowSymLinks Multiviews
  7. AllowOverride All
  8. Order Allow,Deny
  9. Allow from all
  10. </Directory>

"d:/AppServ/www2"为你的站点存放目录:重启apache2以后,你的虚拟主机就配置好了,以后就可以通过127.0.0.2,和127.0.0.3进入不同的站点了。

下面为详细说明分析:

在我们安装APACHE的时候一般默认的apache的配置是只有一个网站,这样切换起来很不方便。其实这个问题很好解决,就是把本机的apache配置成为虚拟服务器。但是,网上大多数教程的是教用apache如何配置基于域名的虚拟主机的,而在本机调试网站的时候,一般都是用本地ip(127.0.0.1 或localhost)直接访问,没有用到域名。所以得把apache配置成为基于ip地址的虚拟主机。

首先,我们都知道,所有以127打头的ip地址都应该指向本机,并不只有127.0.0.1,这点大家可以试试。 这样一来,也就是说本机有足够多的ip地址供你来开设虚拟主机了。

废话少说,进入正式的配置工作,下面是apache的httpd.conf里相关配置部分( httpd.conf 位于Apache2.2\conf ): 1、Listen部分,必须直接指定端口,不指定ip地址,配置应写为: Listen 80 2、不用像基于域名的虚拟主机那样写“NameVirtualHost”。

3、虚拟主机配置段:在httpd.conf 最后加上

  1. <VirtualHost 127.0.0.2:80>
  2. DocumentRoot d:/AppServ/www2
  3. ServerName 127.0.0.2:80
  4. < irtualHost>
  5. <VirtualHost 127.0.0.3:80>
  6. DocumentRoot d:/AppServ/www3
  7. ServerName 127.0.0.3:80
  8. < irtualHost>...

4、然后相应的配置好各个目录属性,下面是一个目录属性的典型配置:

  1. <Directory "d:/AppServ/www2">
  2. Options Indexes FollowSymLinks Multiviews
  3. AllowOverride All
  4. Order Allow,Deny
  5. Allow from all
  6. </Directory>
  7. <Directory"d:/AppServ/www3">
  8. Options Indexes FollowSymLinks Multiviews
  9. AllowOverride All
  10. Order Allow,Deny
  11. Allow from all
  12. </Directory>

重启apache2以后,你的虚拟主机就配置好了,以后就可以通过127.0.0.1和127.0.0.2,127.0.0.3进入不同的站点了

2.配置多个端口

配置Apache及实现多站点

安装好Apache以后,可以在浏览器中输入http://localhost测试,如果配置正常会显示It's Working.
更改第一个站点的根目录:在文件Apache2.2\conf\httpd.conf中查找DocumentRoot 属性,将后面的路径改为你的主站点的路径,如:D:\www\web1
为第二个Apache服务建立配置文件:复制并重命名httpd.conf为web2.conf(举个例子而已,也可以叫my.conf等等),修改web2.conf中的Listen8080(原来为80)、ServerName localhost:8080(原来为80)、DocumentRoot"D:/www/web2" (原来为web1)
添加第二个Apache服务:Apache安装目录的bin子目录下,使用如下命令将Apache安装为WindowsNT服务:httpd.exe -k install -n "服务名" -f"d:\apache2.2\conf\web2.conf"
其他的命令:
将Apache安装为Windows NT服务:
httpd -k install
指定服务的名称,当你在同一机器上安装多个Apache服务时,你必须为它们指定不同的名字。
httpd -k install -n "服务名"
为不同名称的服务使用不同的配置文件,则安装时需要指定配置文件:
httpd -k install -n "服务名" -f"c:\files\my.conf"
如果你使用的是第一个命令,也就是除 -k install外没有其它命令行参数,那么被安装的服务名称将是:Apache2 ,配置文件将使用conf\httpd.conf。
移除一个Apache服务:
httpd -k uninstall
使用下述命令移除特定名称的Apache服务:
httpd -k uninstall -n "服务名"
通常,启动、重启、关闭Apache服务的方法是使用 Apache ServiceMonitor工具,另外也可以使用控制台命令:NET START Apache2 和 NET STOP Apache2或者通过Windows服务控制面板。在启动Apache服务之前,你应当使用下面的命令检查一下配置文件的正确性:
httpd -n "服务名" -t
你可以通过命令行开关来控制Apache服务。要启动一个已经安装的Apache服务,可以使用:
httpd -k start
要停止一个已经安装的Apache服务,可以使用:
httpd -k stop
httpd -k shutdown
要重启一个运行中的Apache服务,强制它重新读取配置文件,可以使用:

httpd -k restar

在利用xampp开发时候为apache设置多个项目目录的更多相关文章

  1. Apache设置禁止访问网站目录(目录列表显示文件)

    默认apache在当前目录下没有index.html入口就会显示目录.让目录暴露在外面是非常危险的事,如下操作禁止apache显示目录,希望文章对各位有帮助. 进入apache的配置文件 httpd. ...

  2. Apache设置禁止访问网站目录

    使用Apache作为Web服务器的时候,在当前目录下没有index.html|php等入口就会显示目录.让目录暴露在外面是非常危险的事. 找到Apache的配置文件 /etc/apache2/apac ...

  3. Appserv(Apache) 设置网页不显示目录(索引)

    首先在appserv安装目录下找到httpd.conf文件 ./AppServ/Apache24/conf/httpd.conf 打开文件,找到 Options Indexes FollowSymLi ...

  4. 利用MVVM设计快速开发个人中心、设置等模块

    我们在做iOS开发过程中,静态页面的开发比开发动态页面更让我们开发者抓狂.因为动态页面通常是一个页面一种cell样式,作为开发者只需要专注于定制好一种样式之后,就可以使用数据填充出较好的界面.而静态c ...

  5. 利用XAMPP本地搭建WordPress博客

    现在越来越多的人利用WordPress搭建了自己的博客网站,我也是一样,但是还有一些人不知道怎么搭建WordPress网站的方法,因为怕弄 不好,所以也就没有花钱去做,所以这里我就讲讲怎么样利用XAM ...

  6. 详细的图文介绍如何利用XAMPP本地建站的环境配置教程

    原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: ...

  7. 【开发软件】 在Mac下配置php开发环境:Apache+php+MySql

    本文地址 原文地址   本文提纲: 1. 启动Apache 2. 运行PHP 3. 配置Mysql 4. 使用PHPMyAdmin 5. 附录   有问题请先 看最后的附录   摘要: 系统OS X ...

  8. 利用NuSoap开发WebService(PHP)

    利用NuSoap开发WebService(PHP) 分类: php 2010-09-08 12:00 5005人阅读 评论(1) 收藏 举报 webservicephpsoapstringencodi ...

  9. 【高德API】如何利用MapKit开发全英文检索的iOS地图

    原文:[高德API]如何利用MapKit开发全英文检索的iOS地图 制作全英文地图的展示并不困难,但是要制作全英文的数据检索列表,全英文的信息窗口,你就没办法了吧.告诉你,我有妙招!使用iOS自带的M ...

随机推荐

  1. [LeetCode] Jump Game 跳跃游戏

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  2. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查

    前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打 ...

  3. Codeforces Round #382(div 2)

    A.= = B. 题意:给出n个数和n1和n2,从n个数中分别选出n1,n2个数来,得到n1个数和n2个数的平均值,求这两个平均值的最大和 分析:排个序从后面抽,注意先从末尾抽个数小的,再抽个数大的 ...

  4. HTTP服务器(2)

    导语 重定向器是特殊用途的HTTP服务器的另一个简单而有用的应用程序.它的作用就是将用户从一个WEB网站重定向到另外一个网站.下面是一个简单的例子,程序沿用上一个SingleHttpServer代码. ...

  5. C#之发送邮件【模板】+【封装】ZJ版

    PS: 为了弥补上篇博客的不足,正好周六闲着没事.所以进行优化下,来个终结版 功能实现:模板发送+自指定邮箱发送+解耦 总体预览如下: 各代码如下:(代码略多,所以都折叠了) 前台; @{ Layou ...

  6. 【WPF】整个自定义按钮后台添加

  7. arcgis出图步骤(缩减版)

    public boolean dzjyfbPicture(Map<String, Object> map) throws UnknownHostException, IOException ...

  8. asp.net使用Get请求webservice

    先在Web.config中的System.Web节点下添加如下代码,使其支持Get请求: <webServices> <protocols> <add name=&quo ...

  9. python实战(开发新浪微博应用)

    #coding=utf-8 """ 本应用主要功能 1.用户选择喜欢的标签加关注 2.获取用户粉丝中自己还没有关注的,->加关注,提高粉丝稳定性 3.获取用户关注列 ...

  10. 远程桌面时plsql的复制粘贴功能失效

    解决办法:重新启动远程桌面上的rdpclip进程就可以复制粘贴了,但是每次重开远程桌面都会出现同样的问题.可以rdpclip这个设置成开机启动.