0
点赞
收藏
分享

微信扫一扫

2、一个TOMCAT服务器搭建两个网站,并在主网站下搭建子业务

在一个服务器上搭建多个网站如何实现

三种方案:IP来区分、端口号来区分、host来区分
如nginx中
IP来区分:
server {
   listen 1.1.1.1:80;
}
server {
   listen 2.2.2.2:80;
}
端口号来区分:
server {
   listen 1.1.1.1:80;
}
server {
   listen 1.1.1.1:81;
}
host(主机头)来区分:
server {
   listen 1.1.1.1:80;
   server_name www.a.com
}
server {
   listen 1.1.1.1:80;
   server_name www.b.com
}

一个服务器搭建两个网站

第一步:
[root@ubuntu2004]#mkdir /data/site_a/ROOT -p  创建网站数据存放a目录,数据必须放在ROOT下
[root@ubuntu2004]#mkdir /data/site_b/ROOT -p  创建网站数据存放b目录,数据必须放在ROOT下
在创建的a、b目录中放入测试数据
[root@ubuntu2004 ROOT]#rz -E
rz waiting to receive.
[root@ubuntu2004 ROOT]#cat index.jsp 
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tomcat test</title>
</head>
<body>
<h1> Tomcat Website www.a.com </h1>
<div>On  <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>

[root@ubuntu2004 ROOT]#cp index.jsp /data/site_b/ROOT
修改内容,让a、b各自目录的测试数据内容不同 
[root@ubuntu2004 ROOT]#vim/data/site_b/ROOT/index.jsp 
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tomcat test</title>
</head>
<body>
<h1> Tomcat Website www.b.com </h1>
<div>On  <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>

[root@ubuntu2004 data]#tree   (jsp文件需index.jsp)
.
├── site_a
│   └── index.jsp
└── site_b
    └── index.jsp

2 directories, 2 files
修系统带的默认数据留着

第二步:修改tomcat中的serverxml配置
      </Host>
      <Host name="www.a.com"  appBase="/data/site_a" unpackWARs="true" autoDeploy="true">
      </Host>
      <Host name="www.b.com"  appBase="/data/site_b" unpackWARs="true" autoDeploy="true">
      </Host>
配置两个网站的域名以及数据存放的路径,如果想单独产生访问日志文件,可以在网站配置下把日志格式复制在下面并改日志名字
重启tomcat:
[root@ubuntu2004 ~]#systemctl restart tomcat.service 
DNS解析 10.0.0.100 www.a.com www.b.com
去网页访问 www.a.com:8080  www.b.com:8080
Tomcat Website www.b.com                   
On www.b.com
10.0.0.100:8080
SessionID = C87C881167876C3A38CE1D84A206A1F5
Tue Sep 27 17:51:36 CST 2022

在主网站下的副业务如何配置

1、在主网站下搭建子业务/app1(子业务目录放在主目录下)

主网站下的副业务如何配置
[root@ubuntu2004]#mkdir /data/site_a/app1 
在创建的app1目录中放入测试数据
[root@ubuntu2004]#cp /data/site_a/ROOT/index.jsp /data/site_a/app1
修改内容,让a、b、app1各自目录的测试数据内容不同
[root@ubuntu2004]#vim /data/site_a/app1/index.jsp
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tomcat test</title>
</head>
<body>
<h1> Tomcat Website www.a.com/app1/ </h1>
<div>On  <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>
去网页访问副业务 www.a.com:8080/app1/ 此app1与ROOT平级

2、在主网站下搭建子业务/app-v2(子业务目录不放在主目录下)
用到Context配置

作用:路径映射:将url映射至指定路径,而非使用appBase下的物理目录,实现虚拟目录功能

应用独立配置,例如单独配置应用日志、单独配置应用访问控制

[root@ubuntu2004 ~]#mkdir /opt/site_a/app2/ -p   映射路径
在创建的目录中放入测试数据
[root@ubuntu2004 site_a]#cp /data/site_a/app1/index.jsp /opt/site_a/app2/
修改数据内容
[root@ubuntu2004]#vim /opt/site_a/app2/index.jsp
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tomcat test</title>
</head>
<body>
<h1> Tomcat Website www.a.com/app-v2/ </h1>
<div>On  <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>


更改server.xml配置
[root@ubuntu2004 ~]#vim /usr/local/tomcat/conf/server.xml
</Host>
      <Host name="www.a.com"  appBase="/data/site_a" unpackWARs="true" autoDeploy="true">
      <Context path="/app-v2" docBase="/opt/site_a/app2" reloadable="true" />
      </Host>
      <Host name="www.b.com"  appBase="/data/site_b" unpackWARs="true" autoDeploy="true">
      </Host>

其中<Context path="/app-v2" docBase="/opt/site_a/app2" reloadable="true" />就是映射路径
还可以添加日志等独立的配置
改完之后保存并重启tomcat服务
systemctl restart tomcat

浏览器访问
www.a.com:8080/app-v2/index.jsp


举报

相关推荐

0 条评论