tomcat虚拟主机的配置
1、什么是虚拟主机一台物理机上搭建多个web站点,每个web站点独立运行,互不干扰,这些站点就是"虚拟主机"。
2、基于主机名的虚拟主机配置基于主机名的虚拟主机:多个域名解析到同一个IP地址,在WEB服务器里添加多个站点,每个站点设定一个主机名。HTTP协议请求里包含了主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
2.1、配置/etc/hosts文件做域名解析
[root@master ~]# echo '192.168.10.10 www.blog.com'>>/etc/hosts
[root@master ~]# echo '192.168.10.10 www.bbs.com'>>/etc/hosts
2.2、配置server.xml文件
[root@master conf]# mkdir /usr/local/tomcat/blog
[root@master conf]# mkdir /usr/local/tomcat/bbs
[root@master conf]# vim server.xml
#编辑server.xml文件,在</Engine>标签上面添加下面内容
<Host name="www.blog.com" appBase="/usr/local/tomcat/blog" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.bbs.com" appBase="/usr/local/tomcat/bbs" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine> 在该标签上面添加如上内容
2.3、重启tomcat服务
[root@master conf]# stop
[root@master conf]# start
2.4、浏览器测试或者命令行测试都可以
这里http端口号我修改成了80,https端口修改成了443,并且配置了http到https自动跳转。只需要把相关网页文件分别复制到/usr/local/tomcat/blog和/usr/local/tomcat/bbs,然后浏览器分别输入域名www.blog.com和www.bbs.com测试。
3、基于端口的虚拟主机配置基于端口号的虚拟主机:一个IP地址,通过不同的端口实现不同网站的访问。
3.1、配置/etc/hosts文件做域名解析
[root@master ~]# echo '192.168.10.10 www.blog.com'>>/etc/hosts
3.2、配置server.xml文件
步骤:在server.xml 中 设置两个service组件,这两个server组件添加在配置文件最后一行</Server>的上面。
[root@master conf]# vim server.xml
<Service name="myService1" >
<Connector port="8081"/>
<Engine name="blog-1" defaultHost="www.blog.com" >
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
<Host name="blog-1" appBase="/usr/local/tomcat/blog-1" />
</Engine>
</Service>
<Service name="myService2" >
<Connector port="8082"/>
<Engine name="blog-2" defaultHost="www.blog.com" >
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
<Host name="blog-2" appBase="/usr/local/tomcat/blog-2" />
</Engine>
</Service>
</Server> 以上内容添加在最后一行上面
3.3、创建相关目录和网页文件并重启tomcat服务
[root@master ~]# mkdir /usr/local/tomcat/blog-1
[root@master ~]# mkdir /usr/local/tomcat/blog-2
复制相关网页文件到以上两个目录即可
[root@master conf]# stop
[root@master conf]# start
3.4、浏览器测试或者命令行测试都可以
浏览器分别输入域名www.blog.com:8081和www.blog.com:8082测试。
说明:
基于IP地址的虚拟主机:服务器使用多网卡配置多个IP地址,然后配置WEB服务器,把多个网站绑定在不同的IP上。(该方式浪费IP资源,tomcat不支持该方式)
















