- 在配置之前需要先安装jdk1.8及以上版本,详情:https://blog.csdn.net/tanlei_accp/article/details/89708128
- 安装nginx,详情:https://blog.csdn.net/tanlei_accp/article/details/89638612
- 安装tomcat,详情:https://blog.csdn.net/tanlei_accp/article/details/89710389
- 退回到/usr/local目录下,将tomcat目录重命名为tomcat1,mv tomcat tomcat1
- 复制tomcat1,将tomcat1复制成tomcat2,cp -r tomcat1 tomcat2,复制完毕后local目录的内容如下
- 分别修改tomcat1和tomcat2 端口,这里有三个端口需要修改,分别如下:
a、shutdown 端口:8005 主要负责启动关闭.
b、ajp端口:8009 主要负责通过ajp均衡(常用于apache和tomcat整合)
c、http端口:8080 可以通过web页面直接访问(nginx+tomcata整合) - 如果tomcat1三个端口分别为:8005 8009 8080 ,那么tomcat2端口在此基础上都+1,即为:8006 8010 8081。一台服务器同时运行的程序端口不能重复,否则就会报错。
- 进入tomcat2的conf目录下,使用vi编辑器编辑server.xml,将shutdown端口改为8006,ajp端口改为8010,http端口改为8081,如下图:
- 编辑完毕后保存,然后分别进入两个tomcat目录的bin目录下执行./startup.sh命令启动tomcat,启动后即可在浏览器当中查看运行效果。如下图:
8081端口的tomcat
8080端口的tomcat: - 设置tomcat的发布目录,发布目录可以不在tomcat的自身目录下。
在tomcat1的server.xml文件的最后</host>前增加如下内容:
<Context path="" docBase="/usr/webapps/www1" reloadable="false"/>
在tomcat2的server.xml文件的最后增加如下内容:
<Context path="" docBase="/usr/webapps/www2" reloadable="false"/>
然后分别创建对应的目录,注意。如果要想生效还需要将原先的发布目录(webapps)清空并重启 tomcat服务
注:一般在企业环境当中多个tomcat是对应一个发布目录的,例如:/data/webapps/www/
在这里我们只是做演示,为了看到效果因此两个tomcat设置了两个发布目录并且内容不同。 - 在/usr/webapps/www1下创建index.jsp文件内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>www1 page</title>
</head>
<body>
Hello World!this is www1 index.jsp page<br/>
<%
out.println("你的 IP 地址 " + request.getRemoteAddr());
%>
</body>
</html> - 在/usr/webapps/www2下创建index.jsp文件,内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>www2 page</title>
</head>
<body>
Hello World!this is www2 index.jsp page<br/>
<%
out.println("你的 IP 地址 " + request.getRemoteAddr());
%>
</body>
</html> - 重启tomcat服务:
a、进入tomcat的bin目录下执行./shutdown.sh 然后再执行./startup.sh - 启动浏览器输入网址查看效果:
- nginx+tomcat整合,主要是修改nginx.conf配置。内容如下:
在http节点当中增加如下代码:
upstream webapp {
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;
}
#localhost
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://webapp; #此处要与上面的webapp的名称一致
index index.jsp;
}
} - 保存退出后通过运行sbin目录下的./nginx -t命令查看配置是否正确,如果末尾出现 is successful则表示配置成功
- 启动nginx服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf - 或者重启nginx服务 ./nginx -s reload
- 在浏览器当中输入ip访问地址,可以看到每刷新一次就会访问不同的tomcat服务器。从而达到负载均衡。