本节内容:apache本机不同端口多站点配置
环境:Apache2.2.9、Resin-3.1.6、Win Server 2003
配置步骤如下:
1,解压Resin至任意目录,例如D盘中。
2,安装apache服务器软件,全部填写localhost,默认端口 80;
3,进入Resin目录运行setup.exe,勾选Web Servers中的Apache复选框,并在后面的输入框中填写你的Apache安装目录,这里安装为D:Apache2.2;
4,打开 Apache的配置文件(D:Apache2.2confhttpd.conf,我的),找到这行:LoadModule caucho_module "D:/resin-3.1.6/win32/apache-2.0/mod_caucho.dll",就是你的Resin安装目录中与Apache整合 的插件模块,不过它默认的是apache-2.0目录下的。
使用这个模块,在启动Apache服务器时会出错,必须使apache-2.2目录下的 mod_caucho.dll,修改后为:LoadModule caucho_module "D:/resin-3.1.6/win32/apache-2.2/mod_caucho.dll";
5,找到这行:#ServerName localhost:80,将前面的#号去掉(不知道为什么它默认把它注释了);
6,找到这行:<Directory "D:/Apache2.2/htdocs">,改为<Directory />,如果不改Apache将不会去找虚拟主机配置文件中对应的目录(如果你用localhost访问);
7,将Options Indexes FollowSymLinks,目录列表,安全设置为将Indexes去掉,不显示目录列表;
8,将#i nclude conf/extra/httpd-vhosts.conf前面的#号去掉,打开虚拟主机配置;
至此httpd.conf配置结束.
接下来配置虚拟主机文件:httpd-vhosts.conf。
httpd-vhosts.conf在"D:Apache2.2confextra" 目录下,将"NameVirtualHost *:80"改为"NameVirtualHost localhost:80",确定为本机(测试时)。
如果正式启用Internet服务,就把它换成你的服务器的IP地址。
虚拟主机基本配置:
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot E:/workspace/sshDemo/WebRoot
alias /test E:/workspace/test/WebRoot
ResinConfigServer 127.0.0.1 6800
</VirtualHost>
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot E:/workspace/sshDemo/WebRoot
Alias /test E:/workspace/test/WebRoot
ResinConfigServer 127.0.0.1 6800
</VirtualHost>
以上配置节中的各个元素说明:
<VirtualHost localhost:80>:localhost为网站域名,80端口可以不写,如果改成别的端口则需要写上,同时还要修改httpd.conf中 的监听端口号:Listen 80
ServerName:网站域名,同上;
DocumentRoot:网站程序主目录;
Alias: 网站中其他的WEB应用的名称及目录位置;
ResinConfigServer:Resin服务器监听端口,我这里是本地 为:127.0.0.1,如果有多台机器作为服务器,修改成对应IP地址即可;
至此虚拟主机的配置完成了,一个网站对应一 个<VirtualHost xxx.xxx.com></VirtualHost>标记;
下面介绍下Resin的配置:
Resin 配置文件:D:Resin-3.1.6confresin.conf,打开并搜索"8080"对应的就是HTTP端口,将HTTP端口注释,因为我 们已经不需要Resin提供WEB服务了,只要让它监听本的端口就行,本地监听端口位置大概在149,这样一行"<server id="" address="127.0.0.1" port="6800"/>",同样如果Apache装在别的机器上,这里就改成这台机器的IP地址了,否则Apache会找不到Resin的端口 的;
如果想使用多JVM来实现多机器的功能实现:
一个JVM一个配置文件;
每个配置文件的监听端口不能相同,要 改<server id="" address="127.0.0.1" port="6800"/>中的port值,6801,6802,...以此类推,Apache与之保持一致;
将Resin注册成为 Windows服务:
命令行切换至Resin主目录,运行httpd -install 完成默认resin服务安装,httpd -remove完成默认resin服务卸载,使用多JVM时就不能这样安装,如下:
httpd -install-as 服务名 -conf 对应resin配置文件;
httpd -remove-as 服务名
然后,启动Apache与Resin,这时会发现Resin服务只能启动一个。
原因分析:Resin在注册为Windows服务时,都有一个自己监控的功能,它会占用一个端口:6600。
在resin.conf中 大概121行的位置可以看到:"<watchdog-port>6600</watchdog-port>"。
修改方法:
本地监听端口6800,自己监听:6600,6801:6601。
至此,在本机的Apache上配置不同端口、多站点的内容就介绍完了,希望对大家有所帮助。