apache 虚拟主机配置

先来点清淡的。
apache 监听一个或多个端口时均可进行虚拟主机配置
httpd.conf 为apache 的主配置文件,可配置监听的端口,主目录,设置目录权限,及其他功能(还不太了解)

端口配置

#Listen 12.34.56.78:80   可配置外网网址,或127.0.0.1:端口号
#此处监听多个端口
Listen 80
Listen 8800

主目录及权限配置

DocumentRoot "D:/"
<Directory "D:/WWW/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<Directory "D:/thinkphp/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<Directory "D:/thinkphp3/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<Directory "D:/IDEA/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

虚拟主机配置 httpd-vhost.conf

#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot "${SRVROOT}/docs/dummy-host.example.com"
#    ServerName dummy-host.example.com
#    ServerAlias www.dummy-host.example.com
#    ErrorLog "logs/dummy-host.example.com-error.log"
#    CustomLog "logs/dummy-host.example.com-access.log" common
#</VirtualHost>

<VirtualHost *:8800>
#	ServerAdmin webmaster@dummy-host2.example.com
#   DocumentRoot "D:\IDEA\svn\jds\law-adm-web\src\main\webapp\static"
#   ServerName 
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
    #静态文件不代理
    #ProxyPass /static !
    Alias  /static "D:/svn/jds/law-adm-web/src/main/webapp/static"
    ProxyPass / http://127.0.0.1:2900/
	ProxyPassReverse / http://localhost:2900/
</VirtualHost>

接下来要加点料了——域名代理。
域名的基本知识:外网通过域名或公网IP可对当前电脑进行访问, 如nmg.com 主域名及*.nmg.com子域名。IP和域名的关系不是一一对应的,一个IP可有一个多个域名,但一个域名只能对应一个IP。
假设当前主机具有12.34.56.7 公网IP及aa.nmy.cn,bb.nmy.cn 两个域名。
在apache 虚拟主机配置时的常见配置方式有:

#支持公网IP:8800 访问  本机的域名未进行测试

	ServerName localhost
	ServerAlias	localhost
	DocumentRoot "D:/wamp/www"
	
		Options FollowSymLinks Includes
		AllowOverride None
		Order deny,allow
		Allow from all
	



	ServerName aa.nmy.cn #本机域名1
	ServerAlias	aa.nmy.cn #本机域名1
	DocumentRoot "D:/see/"        #需开通访问权限,只能访问该目录及子目录
	
		Options FollowSymLinks Includes
		AllowOverride None
		Order deny,allow
		Allow from all
	
	#反向代理 可配置多个,仅在当前域名下进行代理
	ProxyPass /see http://127.0.0.1:8080/see
	ProxyPassReverse /see http://127.0.0.1:8080/see	



	ServerName bb.nmy.cn  		#本机域名2
	ServerAlias	bb.nmy.cn  			#本机域名2
	DocumentRoot "D:/look/"        #需开通访问权限,只能访问该目录及子目录
	
		Options FollowSymLinks Includes
		AllowOverride None
		Order deny,allow
		Allow from all
	
	#反向代理 可配置多个,仅在当前域名下进行代理
	ProxyPass /look http://127.0.0.1:8080/look
	ProxyPassReverse /look http://127.0.0.1:8080/look



	ServerName 12.34.56.7  		  #公网IP
	ServerAlias	12.34.56.7  			  #公网IP
	DocumentRoot "D:/notice/"        #需开通访问权限,只能访问该目录及子目录
	
		Options FollowSymLinks Includes
		AllowOverride None
		Order deny,allow
		Allow from all
	
	#反向代理 可配置多个,仅在当前域名下进行代理
	ProxyPass /notice http://127.0.0.1:8080/notice
	ProxyPassReverse /notice http://198.168.1.66:8080/notice

分别为通过 aa.nmy.cn/see 路径访问 本地see项目,
通过 bb.nmy.cn/look 路径访问 本地look项目,
通过 12.34.56.7:8800/notice 路径访问 局域网中的notice项目,
各域名之间不可 跨项目 代理

ps:常见访问某域名时无端口号,只是省略时默认访问80端口。如果apache 监听其他端口时需添加端口,如12.34.56.7:8800。

你可能感兴趣的:(apache 虚拟主机配置)