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目录

上一篇:使用CEF(二)— 基于VS2019编写一个简单CEF样例


下一篇:Python模块调用方式详解