apache部署多个项目,apache部署多个
apache部署多个项目,apache部署多个
1.配置多个ip
简单的说,打开httpd.conf 在最后加入如下内容:
[html] view plaincopy- <VirtualHost 127.0.0.2:80>
- DocumentRoot d:/AppServ/www2
- ServerName 127.0.0.2:80
- </VirtualHost>
- <Directory "d:/AppServ/www2">
- Options Indexes FollowSymLinks Multiviews
- AllowOverride All
- Order Allow,Deny
- Allow from all
- </Directory>
下面为详细说明分析:
在我们安装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 plaincopy
- <VirtualHost 127.0.0.2:80>
- DocumentRoot d:/AppServ/www2
- ServerName 127.0.0.2:80
- </VirtualHost>
- <VirtualHost 127.0.0.3:80>
- DocumentRoot d:/AppServ/www3
- ServerName 127.0.0.3:80
- </VirtualHost>...
4、然后相应的配置好各个目录属性,下面是一个目录属性的典型配置:
[html] view plaincopy
- <Directory "d:/AppServ/www2">
- Options Indexes FollowSymLinks Multiviews
- AllowOverride All
- Order Allow,Deny
- Allow from all
- </Directory>
- <Directory"d:/AppServ/www3">
- Options Indexes FollowSymLinks Multiviews
- AllowOverride All
- Order Allow,Deny
- Allow from all
- </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
Apache 配置虚拟主机三种方式
一、基于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文件,添加三个域名与之一一对应:
192.168.1.12 www.test2.com
192.168.1.13 www.test3.com
3. 建立虚拟主机存放网页的根目录,如在/www目录下建立test1、test2、test3文件夹,其中分别存放1.html、2.html、3.html
/www/test2/2.html
/www/test3/3.html
4. 在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置:
<VirtualHost 192.168.1.11:80>
ServerName www.test1.com
DocumentRoot /www/test1/
<Directory "/www/test1">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow From All
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.12:80>
ServerName www.test1.com
DocumentRoot /www/test2/
<Directory "/www/test2">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow From All
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.13:80>
ServerName www.test1.com
DocumentRoot /www/test3/
<Directory "/www/test3">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow From All
</Directory>
</VirtualHost>
5. 大功告成,测试下每个虚拟主机,分别访问www.test1.com、www.test2.com、www.test3.com
二、基于主机名
1. 设置域名映射同一个IP,修改hosts:
192.168.1.10 www.test2.com
192.168.1.10 www.test3.com
2. 跟上面一样,建立虚拟主机存放网页的根目录
/www/test2/2.html
/www/test3/3.html 3. 在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置:
为了使用基于域名的虚拟主机,必须指定服务器IP地址(和可能的端口)来使主机接受请求。可以用NameVirtualHost指令来进行配置。 如果服务器上所有的IP地址都会用到, 你可以用*作为NameVirtualHost的参数。在NameVirtualHost指令中指明IP地址并不会使服务器自动侦听那个IP地址。 这里设定的IP地址必须对应服务器上的一个网络接口。
下一步就是为你建立的每个虚拟主机设定<VirtualHost>配置块,<VirtualHost>的参数与NameVirtualHost指令的参数是一样的。每个<VirtualHost>定义块中,至少都会有一个ServerName指令来指定伺服哪个主机和一个DocumentRoot指令来说明这个主机的内容存在于文件系统的什么地方。
如果在现有的web服务器上增加虚拟主机,必须也为现存的主机建造一个<VirtualHost>定义块。其中ServerName和DocumentRoot所包含的内容应该与全局的保持一致,且要放在配置文件的最前面,扮演默认主机的角色。
<VirtualHost *:80>
ServerName *
DocumentRoot /www/
</VirtualHost>
<VirtualHost *:80>
ServerName www.test1.com
DocumentRoot /www/test1/
<Directory "/www/test1">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.test2.com
DocumentRoot /www/test2/
<Directory "/www/test2">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost><VirtualHost *:80>
ServerName www.test3.com
DocumentRoot /www/test3/
<Directory "/www/test3">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost> 4. 大功告成,测试下每个虚拟主机,分别访问www.test1.com、www.test2.com、www.test3.com
三、基于端口
将原来的
Listen 80
改为
Listen
80
Listen
8080
2. 更改虚拟主机设置:
DocumentRoot /var/www/test1/
ServerName www.test1.com
</VirtualHost>
<VirtualHost 192.168.1.10:8080>
DocumentRoot /var/www/test2
ServerName www.test2.com
</VirtualHost>
评论暂时关闭