apache配置多站点
通过把apache配置安装为服务设置多站点
-
打开
wamp\bin\apache\Apache2.2.21\conf
文件夹,复制httpd.conf,重命名为 my.conf -
打开my.conf,修改并保存
Listen 8009 # 端口号 # ServerName localhost:8009 #服务器名# DocumentRoot "G:/WapStatic" #设置为网站根目录的url" <Directory /> Options Indexes FollowSymLinks Includes #支持服务端包含 *.shtml文件支持# AllowOverride None Order allow,deny allow from all </Directory> <Directory "G:/WapStatic"> #设置网站根目录的权限# Options Indexes FollowSymLinks Includes #支持服务端包含 *.shtml文件支持# AllowOverride all Order Allow,Deny Allow from all </Directory>
-
接下来安装站点
运行 cmd 定位到apache安装目录下的bin文件夹(wamp\bin\apache\Apache2.2.21\bin
)
执行httpd.exe -k install -n “服务名” -f “配置文件的路径”;
//安装一个apache服务
可以用 httpd.exe /?查看各个选项的意思# 比如:(服务名和配置文件的路径必须用双引号括起来) httpd.exe -k install -n “longsun” -f “F:\Program Files\Apache Group\Apache2\conf\longsun.conf”
-
运行apache目录下的
apacheMonitor.exe
查看当前的apache服务,启动我们刚刚建的服务。 -
浏览器打开
http://www.localhost:8009
验证站点是否正常
通过1个IP多端口的方式配置多站点
一个IP + 一个端口 映射一个站点
-
打开 conf/httpd.conf 配置文件,修改如下:
Listen 8012 #监听新端口 Include conf/extra/httpd-vhosts.conf # ctrl+f 查找,去掉前面的#注释,包含外部虚拟主机配置文件 #打开虚拟主机配置文件 ( conf/extra/ httpd-vhosts.conf ) , 在底部增加这样一段配置信息 <VirtualHost *:8012> ServerAdmin webmaster@myweb.com DocumentRoot "d:/mysite/" #站点根目录 ServerName localhost:8012 #站点主机名 域名+端口 唯一标识一个主机 #由于httpd.conf的全局配置比较严格,默认所有目录不可访问,所以要这个放宽访问权限 <Directory /> Options FollowSymLinks AllowOverride all Order deny,allow Allow from all </Directory> </VirtualHost>
-
保存配置文件后,重启apache,然后就可以预览
http://localhost:8012/test.html
-
在命令行下,转到 apache2/bin目录 运行
httpd -S
可以分析虚拟主机配置文件是否正确。
通过修改host方式配置多站点
hosts文件位于 window\system32\drivers\etc下
-
修改本机的hosts文件,如下:
127.0.0.1 localhost 127.0.0.1 www.dede.com 127.0.0.1 www.phpcms.com
-
打开
httpd.conf
文件,分别去掉下面两行文字前面的#号。#启用apache的虚拟主机功能。 #LoadModule vhost_alias_module modules/mod_vhost_alias.so #包含虚拟主机配置。 #Include conf/extra/httpd-vhosts.conf
-
打开
extra/httpd-vhosts.conf
文件,加上自己的虚拟主机配置。# www.glife.com, www.myphp.com是在hosts文件中指定解析为本机ip的 <VirtualHost *:80> ServerAdmin stephenjj@126.com DocumentRoot "d:/pan/shopilex" #注意 目录分隔符用斜杠/ ServerName www.glife.com </VirtualHost> <VirtualHost *:80> ServerAdmin stephenjj@126.com DocumentRoot "d:/web" ServerName www.myphp.com </VirtualHost>
-
重启apache, 并访问对应网址试试