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

下面两种方法是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. MySql in子句 效率低下优化

    MySql in子句 效率低下优化 背景: 更新一张表中的某些记录值,更新条件来自另一张含有200多万记录的表,效率极其低下,耗时高达几分钟. where resid in ( ); 耗时 365s ...

  2. Appium+python的一个简单完整的用例

    最近一直在忙,终于有时间来整理一下,传一个简单的用例,运行之后可以看到用例的报告,希望对大家有帮助. HTMLTestRunner这个包网上有很多,大家可以自己下载. 1 import unittes ...

  3. Linux系统下输出某进程内存占用信息的c程序实现

    在实际工作中有时需要程序打印出某个进程的内存占用情况以作参考, 下面介绍一种通过Linux下的伪文件系统/proc 计算某进程内存占用的程序实现方法. 首先, 为什么会有所谓的 伪文件 呢. Linu ...

  4. [LeetCode] Letter Combinations of a Phone Number 电话号码的字母组合

    Given a digit string, return all possible letter combinations that the number could represent. A map ...

  5. Android开发之Activity横竖屏切换生命周期重建问题

    当进行横竖屏切换的时候Activity的生命周期会重建,从而导致Activity崩溃等问题,为了避免这一问题,需要在AndroidManifest.xml文件中设置: <activity and ...

  6. ie11的DOM管理器报错

    IE11 Windows7下F12 DOC资源管理器不能用Exception in window.onload: Error: An error has ocurredJSPlugin.3005--- ...

  7. SQLSERVER 获取datetime日期的查询语句

    SELECT varchar(10:57AM SELECT varchar(CONVERT(100), GETDATE(), 2): 11.05.16 SELECT varchar(CONVERT(1 ...

  8. perl

    introduction: http://www.yiibai.com/perl/perl_introduction.html functions: http://www.yiibai.com/per ...

  9. 罗马数字转整数Leetcode13

    该题较为简单,但是需要知道罗马数字的表示以及取值.用了一下map,其实之前没用过,但仔细看了一下跟python的字典实际上差不多,扫了一遍函数就直接可以用了. class Solution { pub ...

  10. jsp编码过程

    pageEncoding是jsp文件本身的编码 contentType的charset是指浏览器到服务器发送时使用的编码:以及服务器返回到浏览器使用的编码 JSP要经过三次的“编码” 第一阶段会用JS ...