Tomcat多实例
指尖二进制 • 1 年前 • 799 次点击 • TOMCAT
Nginx=192.168.43.2
Tomcat=192.168.43.50
Client=192.168.43.73
如果让客户端通过nginx访问到tomcat界面怎么做?
答:url重写。通过rewrite把web界面发布出去。前面已经写过关于url重写的文章自行参考:http://doc.cloud.com/docs/middleware/middleware-1fcqh6cdfbvse
只需要在server段添加rewrite重写就可以
server {
listen 80;
server_name localhost;
location / {
#root html;
#index index.html index.htm;
rewrite ^/$ http://192.168.43.50:8080;
}
tomcat多实例。前面文章已经解决能登陆、后台也已经能管理界面了。
tomcat除了8080端口还有8005、8009。
<Server port="8005" shutdown="SHUTDOWN">
8005端口:远程关闭tomcat,线上环境需要把SHUTDOWN给换掉,换成一个负载点。越难记住越好。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
8080端口:连接端口1.1协议
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
8009端口:
AJP定向包协议
作用:使用位进制格式传输一些可读性文本。
为什么要使用AJP?
tomcat优势是树立jsp的Java代码写的页面,但是对于静态页面、图片它的处理能力特别差。
如果有图片和静态页面怎么办?分流会在下面体现,但是图片没有需要自己去找或者自己编写jsp页面。
做一个分流。不让tomcat处理这东西,因为这是tomcat的弱项,把它交给AJP来完成。AJP在tomcat当中作用就是帮助tomcat处理图片和静态页面的。
如果tomcat需要多开且端口不能冲突。怎么办?修改端口呗、笨蛋。
vim /usr/tomcat/tomcat-8.5/conf/server.xml
采用最简单的办法把所有端口都加1,也就是8006、8081、8010。一个实例三个端口,需要多开都加1即可。
重启tomcat
用nginx发布两个tomcat页面且不是同一个端口:
首先在tomcat上在创建一个页面。tomcat发布页面在webapps:
cd /usr/tomcat/tomcat-8.5/webapps
mkdir zhangjianzi
cd zhangjianzi
vim index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>张松博客</title>
</head>
<body>
<p>一个人的快乐不是因为得到的多<br />而是因为计较的少</p>
<p>张松</p>
<h1>张尖子</h1>
<h2>张尖子</h2>
<h3>张尖子</h3>
<h4>张尖子</h4>
<h5>张尖子</h5>
<h6>张尖子</h6>
<span>Hello</span>
<span>World</span>
<br /><a href="http://foolcloud.cn">张松博客</a>
<br /><a><h1>这个就是URL重写,虚拟主机配合使用。</h1></a>
<br /><a>当你发现自己的才华撑不起自己的野心时,那就安静下来学习吧!<a>
</body>
</html>
修改nginx服务器配置文件:
怎么做?客户端访问www.a.com出现上面自己写的页面。访问www.b.com出现tomcat管理界面。
vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.a.com;
location / {
rewrite ^/$ http://192.168.43.50:8080/zhangjianzi;
}
}
server {
listen 80;
server_name www.b.com;
location / {
rewrite ^/$ http://192.168.43.50:8081;
}
}
重启nginx:
客户端进行访问:
首先要想通过域名访问必须修改hosts文件:两个ip地址都是nginx服务器的地址。意思就是域名能够正常解析,当然如果购买的域名经过管局审核不用在hosts文件加入也是可以的:
vim /etc/hosts
192.168.43.50 www.a.com
192.168.43.50 www.b.com
这个就是URL重写、虚拟主机配合使用。