站点一目录为: c:\wwwroot\aaa , 域名为 www.aaa.com
站点二目录为: c:\wwwroot\bbb , 域名为 www.bbb.com
站点三目录为: c:\wwwroot\ccc , 域名为 www.ccc.com
Tomcat 配置文件为: tomcat路径/conf/server.xml
站点根目录为: c:\wwwroot
站点一目录为: c:\wwwroot\aaa , 域名为 www.aaa.com
站点二目录为: c:\wwwroot\bbb , 域名为 www.bbb.com
Tomcat 配置文件为: tomcat路径/conf/server.xml
注: 若需不同域名访问将 <Host name="localhost" appBase="c:\wwwroot" unpackWARs="true" autoDeploy="true"> name 字段改为对应域名即可,多个域名可在 Host 标签内添加一个或多个 <Alias>www.abc.com</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 :
Nginx是一个HTTP服务器 ,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。
客户端本来可以 直接 通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端。
负载均衡: 将 相同的应用 部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是, 其中一台服务器万一挂了,只要还有其他服务器正常运行 ,就不会影响用户使用。
虚拟主机: 如将 www.aaa.com 和 www.bbb.com 两个网站部署在同一台服务器上,两个域名解析到同一个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应用的安全目录。所谓安全就是客户端无法访问, 只有服务端可以访问的目录 。
一,编译后打成war包,放入 TOMCAT_HOME\webapps下,然后启动tomcat,tomcat会自动解包并部署工程二,整个工程文件夹拷贝到webapps下,然后启动tomcat,也能实现发布,不过一般很少这么用
三,在TOMCAT_HOME\conf\Catalina\localhost下新建一个xml文件,其中内容指向你所在的工程的应用目录,然后启动tomcat,也能实现工程的发布,这样的方式对于开发调试来说非常方便,是开发过程中经常使用的方式,xml内容格式如下:
<?xml version="1.0" encoding="GB2312"?>
<Context path="/myapp" docBase="H:/work/projects/myapp/myappWebContext" crossContext="false" debug="0" reloadable="true"></Context>
你的问题,可以两种方式:
1、让用户自己打包成war包,然后上传工程文件,并将其手动或自动的拷贝到到TOMCAT_HOME\webapps下,tomcat会实现热部署,实现工程的发布。
2、用户上传自己的工程文件到你的指定目录,你生成一个对应的xml并自动或手动拷贝到TOMCAT_HOME\conf\Catalina\localhost下,tomcat会实现热部署,实现工程的发布。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)