tomcat虚拟主机(tomcat虚拟主机配置多个域名访问相同应用)

admin 78 2022-12-13

阿里云服务器优惠多,折扣错,惊喜多,请咨询:www.wqiis.com

本文目录一览:

tomcat 8.0怎样设置多个虚拟主机

配置方法如下:

1、在tomcat安装目录,与webapps目录平级的地方,建立3个文件夹,分别是webapps_1/war、webapps_2/war、webapps_3/war,把3个war包分别放入3个war文件夹中。

这里不可以使用tomcat自带的webapps目录,不可以把3个war包放入同一个webapps文件夹,否会导致tomcat加载多次web项目(本例是3次),造成重复启动。

2、修改sever.xml,内容如下:

实际上context也可以去掉,那么需要将webapps_1/ROOT、webapps_2/ROOT、webapps_3/ROOT,也就是说这三个目录结构和webapps结构相同,项目分别放到这是三个目录中:

3、关键属性说明:

appBase="webapps_1"        的作用是,指定应用程序(网站)的基本路径 ,这里可以存放多个程序(网站)。一般是相对路径,相对于tomcat的安装目录。

aaa.com       的作用是,为一个Host,绑定多个域名;也就是说可以在浏览器地址中输入:aaa.com访问,但是不带www; 所以,如果想要加上www,需要301重定向,比如urlrewritefilter.jar.

windows环境(tomcat6.0.18):如果设置为path="",tomcat会在webappa_1目录中自动生成ROOT目录(里面有还有与aaa目录一样一样的内容),要设置为path=""。

Linux环境(tomcat6.0.33):如果设置为path="",tomcat不会在webappa_1目录中自动生成ROOT目录。而是生成 aaa目录。要设置为path="/"。(有待试验,今天凌晨验证到关键时刻,试验环境出问题了,未继续)。

4、运行过程

tomcat启动时,解压webapps_1/war/aaa.war包到webapps_1/ROOT目录中。

如何在虚拟主机上安装jdk和tomcat

这就要看你的虚拟机上装了什么系统,在oracle和tomcat官网上分别下载对应版本的jdk和tomcat,因为不知道你装的是什么系统,不好说方法,具体安装方法可以上网查,或者看视频。

tomcat在配置虚拟主机的时候,导致startup.bat闪退,如何解决

点击startup.bat会闪退,编辑startup.bat,在最后一行加入 pause ,然后保存,再次运行,就可以看到闪退的原因

出现这个的原因是因为tomcat没有配置启动的环境,右键电脑,点击属性,点击高级系统设置

点击系统环境变量,,新建环境变量

步骤阅读

4

添加一个环境变量为TOMCAT_HOME ,值为tomcat的解压目录

5

再次编辑startup.bat ,去掉刚刚添加的pause,双击后,即可进行安装,不会再次闪退

tomcat7.0:请问如何在server.xml中包含一个host.conf文件,用该文件专门存放虚拟主机的配置。

tomcat虚拟路径问题 2011-9-24 22:00 提问者:memoryboywgq | 悬赏分:20 | 浏览次数:90次

我在虚拟路径d:/ 下的jsp文件可以运行,但是一旦我在myeclipse中发布之后,在tomcat默认的路径c:/下就生成发布文件即jsp文件,这是不是正常,请指导。

其他回答 共2条

2011-9-25 09:22 QQ1479243587_ | 二级

tomcat配置虚拟路径的4种方法

在tomcat中,webapp文件夹默认为web应用的根目录。

1.在tomcat\conf\server.xml中找到 host标签,在host标签中增加新的元素Context/并设置 Context的元素,其中path元素所设置的值就是在浏览器中所要访问的虚拟路径的名称;docBase元素所对应的值就是web应用所在的具体目录,这里既可以的相对webapp的相对路径,也可是文件的绝对路径。

Engine name="Catalina" defaultHost="localhost"

.......

Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false"

Context docBase="SHARP" path="/test" reloadable="true" /

!--Context docBase="D:/SHARP" path="/test" reloadable="true" /--

/Host

/Engine

2.在tomcat\conf\Catalina\localhost文件夹中设置一个web应用名称一样的xml文件。在xml文件中内容有一个Context/标签。

Context path="/test" reloadable="true" /

3.直接在webapp目录下建一个包含WEB-INF/web.xml的项目应用文件夹,在游览器访问页面时会自动将此项目文件的名件名作为虚拟目录的名称。

4.直接在webapp目录下发布一个打包好的WAR文件,tomcat会自动解压war文件,在游览器访问页面时会自动将此项目文件的名件名作为虚拟目录的名称。 赞同0

Tomcat 与Nginx

Nginx是一个HTTP服务器 ,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。

客户端本来可以 直接 通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端。

负载均衡: 将 相同的应用 部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是, 其中一台服务器万一挂了,只要还有其他服务器正常运行 ,就不会影响用户使用。

虚拟主机: 如将 和 两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。

在服务器8080和8081分别开了一个应用,客户端通过不同的域名访问,根据server_name可以反向代理到对应的应用服务器。

动态静态资源分离:

之前开发web方面的程序时候我们习惯将 html、css等资源文件也放置于Tomcat中 ,用户访问后tomcat需要将请求的这些静态资源文件一并返回给用户。

再者如果有多台同业务逻辑的tomcat服务器的话,同样的资源还需要在每个服务器上放一份,同时也增加了tomcat服务器的网络IO。

如果我们只讲JSP之类的请求交给tomcat, 在代理服务器上存放静态资源 ,当用户的请求非动态资源的时候, 我们完全可以将代理服务器的静态资源直接返回给用户,而不去增大Tomcat的压力 ,

tomcat只需要 负责逻辑处理 和 动态资源的加载 就可以了。

Tomcat的高并发性能很弱 ,所以在处理 静态请求的时候,我们就抛给Nginx处理 ,而Tomcat专门处理动态请求。

Nginx和Tomcat结合方式 :

WEB-INF

WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问, 只有服务端可以访问的目录 。

Tomcat虚拟主机配置

站点根目录为: c:\wwwroot

站点一目录为: c:\wwwroot\aaa , 域名为

站点二目录为: c:\wwwroot\bbb , 域名为

站点三目录为: c:\wwwroot\ccc , 域名为

Tomcat 配置文件为: tomcat路径/conf/server.xml

站点根目录为: c:\wwwroot

站点一目录为: c:\wwwroot\aaa , 域名为

站点二目录为: c:\wwwroot\bbb , 域名为

Tomcat 配置文件为: tomcat路径/conf/server.xml

注: 若需不同域名访问将 Host name="localhost" appBase="c:\wwwroot" unpackWARs="true" autoDeploy="true" name 字段改为对应域名即可,多个域名可在 Host 标签内添加一个或多个 Alias;/Alias 即可。其中 Connector port、defaultHost、Hostname、appBase、docBase、日志 prefix 为你实际的即可。

a. 可以将不同 service 组件的 Engine name 都指定成 Catalina。

b. 可以将不同 service 组件的 Host appBase 指定成默认的 webapps。

c. Context docBase="/data/java/appstore-web" path="" reloadable="true" / 这个用于配置根路径项目,也就是 /data/java/appstore-web 包访问时是通过 ip:port 来访问,而不是传统的 ip:port/app

假设:

第一个tomcat文件夹为tomcat8-1,路径为 /home/tomcat8-1/

第二个tomcat文件夹为tomcat8-2,路径为 /home/tomcat8-2/

分别修改 tomcat 文件夹 /conf 目录下 server.xml 的监听端口为不同端口。

分别启动 tomcat 文件夹 /bin 目录下的 startup.sh 启动tomcat,停止同上文。

即可运行多个tomcat。

注:根据官方文档 tomcat8.5 且 JAVA7 及其以上才支持 SNI。如果 tomcat 版本较低且需要绑定多个域名情况下,建议使用反向代理方式部署 HTTPS。

在 Connector port="8080" 配置字段下新增 443 端口监听设置即可。

注:若IIS反向代理tomcat绑定https时,选择上启用SSL卸载。以免tomcat未配置HTTPS访问的情况下请求得不到正常响应。

如:

修改配置文件 tomcat路径/conf/tomcat-users.xml :

上一篇:首页排名关键词优化(网站关键词搜索排名优化)
下一篇:lte网络优化(lte网络优化论文)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~