Tomcat的部署方式
1)直接把Web项目放在webapps下,Tomcat会自动将其部署
2)在server.xml文件上配置节点,设置相关的属性即可
3)通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的 名字就是站点的名字。 编写XML的方式来进行设置。
Tomcat工作模式
Tomcat是一个JSP/Servlet容器,其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。
进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:
- Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IIS, Nginx等
- Tomcat作为独立服
Tomcat一个请求的完整过程
首先DNS解析 wo.de.tian机器,一般是NG服务器IP地址,然后 NG根据server的配置,寻找路径为 yy/的机器列表,IP和端口;最后,选择其中一台机器进行访问,详细过程如下:
- 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
- Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
- Engine获得请求localhost/yy/index.jsp,匹配它所拥有的所有虚拟主机Host
- Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为 该Engine的默认主机)
- localhost Host获得请求/yy/index.jsp,匹配它所拥有的所有Context
- Host匹配到路径为/yy的Context(如果匹配不到就把该请求交给路径名为”“的Context去处理)
- path=”/yy”的Context获得请求/index.jsp,在它的mapping table中寻找对应的servlet
- Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
- 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet 或doPost方法
- Context把执行完了之后的HttpServletResponse对象返回给Host
- Host把HttpServletResponse对象返回给Engine
- Engine把HttpServletResponse对象返回给Connector
- Connector把HttpServletResponse对象返回给客户browser
Ng:(nginx)
upstream yy_001{
server 10.99.99.99:8080;
server 10.99.99.100:8080;
hash $**;
healthcheck_enabled;
healthcheck_delay 3000;
healthcheck_timeout 1000;
healthcheck_failcount 2;
healthcheck_send 'GET /healthcheck.html HTTP/1.0' 'Host: wo.com'
'Connection: close';
}
server {
include base.conf;
server_name wo.de.tian;
...
location /yy/ {
proxy_pass http://yy_001;
}