windows apache 配置多个服务站点
方法一:多个APACHE服务
更改第一个站点的根目录:
在文件Apache2.2/conf/httpd.conf中查找 DocumentRoot 属性,将后面的路径改为你的主站点的路径,
如:D:/www/web1
为第二个Apache服务建立配置文件:
复制并重命名httpd.conf为web2.conf(举个例子而已,也可以叫my.conf等等),
修改 web2.conf中的
Listen 8080(原来为80)
ServerName localhost:8080(原来为80)
DocumentRoot “D:/www/web2″ (原来为web1)
添加第二个Apache服务:
Apache安装目录的bin子目录下,使用如下命令将Apache安装为Windows NT服务:
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 Service Monitor工具,另外也可以使用控制台命令: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 restart
方法二:配置虚拟主机
单IP单端口多站点
修改httpd.conf
-----------------------------------------------------------------------------------------------------------------------------------
Listen 80
NameVirtualHost 192.168.1.15 #接收请求的IP地址
<VirtualHost 192.168.1.15> #绑定的ip
ServerAdmin test@test.com #管理员邮箱
DocumentRoot "D:/Inetpub/www/maidou/" #网站目录
ServerName www.test.com #主机名(域名)
DirectoryIndex index.php #主目录默认页
ServerAlias test.other.com admin.other.com #做出响应的域名
ErrorLog logs/error_log.log #错误日志
CustomLog logs/custom.log common #用户日志
<Directory "D:/Inetpub/www/maidou/">
Options Indexes FollowSymLinks
AllowOverride All #AllowOverride指明Apache服务器是否加载.htacess
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
# 多台可以再添加
<VirtualHost 192.168.1.15>
DocumentRoot "D:/Inetpub/www/other/"
ServerName www.other.com
<Directory "D:/Inetpub/www/other/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
**************************************************----------------------------------------------------------------------------------
以上设置的监听端口是80,要保证域名不同。
如果同时有多个虚拟主机,而且经常变动,那就可以在httpd.conf文件的末尾加上一句
---------------------------------------------------------------------------------------------------------------------
include DIR/*.conf #DIR为你虚拟主机配置文件的目录
---------------------------------------------------------------------------------------------------------------------
然后,将每一个虚拟主机的配置做一个单独的.conf文件,放在DIR目录下,到时候只要添加删除文件就可以了
多IP单端口多站点
修改httpd.conf
-----------------------------------------------------------------------------------------------------------------------------------
<VirtualHost 192.168.1.1:80>
DocumentRoot "/usr/local/apache/a"
ServerName www.a.com
ServerAlias a.com
DirectoryIndex index.html index.php
</VirtualHost>
NameVirtualHost 192.168.1.2:80
<VirtualHost 192.168.1.2:80>
DocumentRoot "/usr/local/apache/b"
ServerName www.b.com
ServerAlias b.com
DirectoryIndex index.php
</VirtualHost>
<VirtualHost 192.168.1.2:80>
DocumentRoot "/usr/local/apache/c"
ServerName www.c.com
ServerAlias c.com
DirectoryIndex index.php
</VirtualHost>
-------------------------------------------------------------------------------------------------------------------------------------
多IP多端口多站点
修改httpd.conf
-------------------------------------------------------------------------------------------------------------------------------------
Listen 172.20.30.40:80
Listen 172.20.30.40:8080
Listen 172.20.30.50:80
Listen 172.20.30.50:8080
<VirtualHost 172.20.30.40:80>
DocumentRoot /www/example1-80
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
DocumentRoot /www/example1-8080
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.20.30.50:80>
DocumentRoot /www/example2-80
ServerName www.example1.org
</VirtualHost>
<VirtualHost 172.20.30.50:8080>
DocumentRoot /www/example2-8080
ServerName www.example2.org
</VirtualHost>
***********************************************----------------------------------------------------------------------
虚拟目录的设置
----------------------------------------------------------------------------------------------------------------------
Alias /phpmyadmin "E:/www"
<Directory "e:/www">
AllowOverride None
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
</Directory>
*******************************-----------------------------------------------------------------------------------------
添加名为test的虚拟目录,并指向E:/www目录