apache部署多个项目(转)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

1.配置多个ip

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

[html]  view plain copy
  1. <VirtualHost 127.0.0.2:80>  
  2.    DocumentRoot d:/AppServ/www2  
  3.    ServerName 127.0.0.2:80  
  4. < irtualHost>  
  5.   
  6.   
  7. <Directory "d:/AppServ/www2">  
  8.    Options Indexes FollowSymLinks Multiviews  
  9.    AllowOverride All  
  10.    Order Allow,Deny  
  11.    Allow from all  
  12. 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 最后加上

[html]  view plain copy
  1. <VirtualHost 127.0.0.2:80>  
  2.    DocumentRoot d:/AppServ/www2  
  3.    ServerName 127.0.0.2:80  
  4. < irtualHost>  
  5.   
  6. <VirtualHost 127.0.0.3:80>  
  7.    DocumentRoot d:/AppServ/www3  
  8.    ServerName 127.0.0.3:80  
  9. < irtualHost>...  


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

[html]  view plain copy
  1. <Directory "d:/AppServ/www2">  
  2.    Options Indexes FollowSymLinks Multiviews  
  3.    AllowOverride All  
  4.    Order Allow,Deny  
  5.    Allow from all  
  6. Directory>  
  7.   
  8. <Directory"d:/AppServ/www3">  
  9.    Options Indexes FollowSymLinks Multiviews  
  10.    AllowOverride All  
  11.    Order Allow,Deny  
  12.    Allow from all  
  13. 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

转载于:https://my.oschina.net/lnmpstudy/blog/186423

你可能感兴趣的:(apache部署多个项目(转))