Tomcat8配置私人共享

tomcat8安装在公网IP为x.x.x.x的服务器上

tomcat安装

第一步,下载server-jre-8u202-linux-x64.tar.gz和apache-tomcat-8.5.95.tar.gz安装包。

登录地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html下载server-jre-8u202-linux-x64.tar.gz安装包。登录地址:https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.95/bin下载apache-tomcat-8.5.95.tar.gz安装包。然后使用WinSCP将安装包上传到/usr/local/src文件夹中。也可以使用wget命令下载。

命令:cd /usr/local/src

wget https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html/jre-8u202-linux-x64.tar.gz

wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.95/bin/apache-tomcat-8.5.95.tar.gz

第二步,解压server-jre-8u202-linux-x64.tar.gz和apache-tomcat-8.5.95.tar.gz安装包。

命令:cd /usr/local/src

tar -zxvf server-jre-8u202-linux-x64.tar.gz -C /usr/local

tar -zxvf apache-tomcat-8.5.95.tar.gz -C /usr/local

cd /usr/local

mv apache-tomcat-8.5.95 tomcat1

第三步,将/usr/local/jdk1.8.0_202和/usr/local/tomcat1的所有者及所属组改为tomcat。

命令:useradd tomcat

chown -R tomcat:tomcat /usr/local/jdk1.8.0_202

chown -R tomcat:tomcat /usr/local/tomcat1

第四步,配置环境变量。

配置/etc/profile文件,在文件添加下面的代码:

export JAVA_HOME=/usr/local/jdk1.8.0_202
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/ext:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

# 刷新profile文件

命令:source /etc/profile

第五步,测试server-jre是否配置成功。

# 查看jdk版本

命令:java -version

若结果显示server-jre的版本,则说明server-jre配置成功。

tomcat配置及启动

第一步,编辑配置/usr/local/tomcat1中的server.xml文件。

进入文件夹/usr/local/tomcat1/conf,server.xml编辑完成后代码如下:

<?xml version="1.0" encoding="UTF-8"?>
    ...
    <Server port="8105" shutdown="SHUTDOWN"> #port设置为8105
      ...
        <Connector executor="tomcatThreadPool" port="8081" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
              connectionTimeout="20000"
              redirectPort="8443" URIEncoding="UTF-8"
              maxPostSize="-1" maxHttpHeaderSize ="102400"/>
    <!-- A "Connector" using the shared thread pool-->
   ...
</Server>

第二步,编辑配置/usr/local/tomcat1/bin下的 catalina.sh文件。

为防止出错,先提前备份一下,然后在第117行添加下面的代码:

JAVA_HOME=/usr/local/jdk1.8.0_202
JRE_HOME=/usr/local/jdk1.8.0_202/jre
JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx1024m"

接着把UMASK="0027"修改为UMASK="0022"。

最后赋予权限。

命令:cd /usr/local/tomcat1/bin

chmod a+x catalina.sh

第三步,测试tomcat1是否配置成功。

命令:cd /usr/local/tomcat1/bin

./startup.sh

netstat -ntl | grep 8081

若结果成功显示“Tomcat started”,则说明tomcat成功启动。

若tomcat启动失败,则可能是启动时使用的端口被其他应用程序占用了,可以查看端口被哪个应用程序占用了。

命令:netstat -nap | grep [tomcat端口号]

或    lsof -i:[tomcat端口号]

或    netstat -ntl | grep [tomcat端口号]

tomcat成功启动后,然后直接根据http://x.x.x.x:8081

http://x.x.x.x/index.jsp)在本地浏览器访问。

若页面成功显示“Apache Tomcat/8.5.95”,则说明tomcat配置成功。

若发现访问不到,则可以查看防火墙是否开着。

# 查看防火墙的状态

命令:systemctl status firewalld.service

# 临时将防火墙关闭

命令:systemctl stop firewalld.service

# 关闭tomcat

命令:./shutdown.sh

第四步,复制tomcat1文件夹1次并都粘贴在/usr/local/文件夹中。

cp -pr  /usr/local/tomcat1 /usr/local/tomcat2

第五步,重复“tomcat配置及启动”中的第一、二和三步。

在配置文件server.xml中更改端口号,编辑配置 catalina.sh文件。

不进入tomcat根目录即可进行相应的操作

第一步,进入/etc/rc.d/init.d文件夹,新建文件,命名为tomcat1,并在文件中编写脚本。文件的脚本如下:

#!/bin/bash
#
# tomcat1 startup script for the Tomcat1 server
#
#
# chkconfig: 2345 80 20
# description: start the tomcat1 deamon
#
# Source function library
. /etc/rc.d/init.d/functions
prog=tomcat1
case "$1" in
start)
    echo "Starting Tomcat1..."
    /usr/local/tomcat1/bin/startup.sh
    ;;
stop)
    echo "Stopping Tomcat1..."
    /usr/local/tomcat1/bin/shutdown.sh
    ;;
res)
    echo "Stopping Tomcat1..."
    /usr/local/tomcat1/bin/shutdown.sh
    sleep 60
    echo "Starting Tomcat1..."
    /usr/local/tomcat1/bin/startup.sh
    ;;
*)
    echo "Usage: $prog {start|stop|res}"
    ;;
esac
exit 0

第二步,添加执行权限并设置开机自启。

命令:chmod +x /etc/init.d/tomcat*

# 设置开机自启

命令:chkconfig --add tomcat1

chkconfig tomcat1 on

# 检查tomcat1命令

命令:service tomcat1

Usage: tomcat1 {start|stop|res}

第三步,检查一下脚本是否有用。

命令:/sbin/chkconfig tomcat1 on

sudo /sbin/chkconfig --list tomcat1

如果结果显示“tomcat1 0:off 1:off 2:on 3:on 4:on 5:on 6:off”,则说明脚本文件有用。

第四步,nginx启动、关闭以及重启命令。

命令:service tomcat1 start

service tomcat1 stop

service tomcat1 restart

第五步,再新建1个文件,命名为tomcat2,重复执行第一、二、三和四步。

tomcat配置私人共享

第一步,配置/etc/nginx/nginx.conf文件。

    #keepalive_timeout  0;
    keepalive_timeout  65;
    upstream mytomcat {
      server  x1.x1.x1.x1:8081 weight=1;
      server  x1.x1.x1.x1:8082 weight=1;
    }
    #gzip  on;
    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://mytomcat;
        }
    }

第二步,分别编辑配置/usr/local/tomcat1/server.xml和/usr/local/tomcat2/server.xml文件。

分别进入文件夹/usr/local/tomcat1/conf和/usr/local/tomcat2/conf,server.xml编辑完成后代码如下:

<?xml version="1.0" encoding="UTF-8"?>

    ...

    <!--

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

      -->

  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"

                 channelSendOptions="8">

          <Manager className="org.apache.catalina.ha.session.DeltaManager"

                   expireSessionsOnShutdown="false"

                  notifyListenersOnReplication="true"/>

          <Channel className="org.apache.catalina.tribes.group.GroupChannel">

            <Membership className="org.apache.catalina.tribes.membership.McastService"

                        address="228.0.0.4"

                        port="45564"

                        frequency="500"

                        dropTime="3000"/>

            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

                      address="x1.x1.x1.x1"

                      port="4000"

                      autoBind="100"

                      selectorTimeout="5000"

                      maxThreads="6"/>

            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

              <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

            </Sender>

            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/>

          </Channel>

          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"

                 filter=""/>

          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

                    tempDir="/tmp/war-temp/"

                    deployDir="/tmp/war-deploy/"

                    watchDir="/tmp/war-listen/"

                    watchEnabled="false"/>

          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

        </Cluster>

      <!-- Use the LockOutRealm to prevent attempts to guess user passwords

           via a brute-force attack -->

   ...

</Server>

第三步,进入/usr/local/tomcat1/conf/Catalina/localhost和/usr/local/tomcat2/conf/Catalina/localhost文件夹,分别创建manager.xml文件。

命令:vim /usr/local/tomcat1/conf/Catalina/localhost/manager.xml

vim /usr/local/tomcat2/conf/Catalina/localhost/manager.xml

将下面的代码复制到manager.xml文件中:

<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false"
     docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

第四步,进入/usr/local/tomcat1/webapps/manager/WEB-INF和/usr/local/tomcat1/webapps/manager/WEB-INF,分别在web.xml文件中加入下面的标签。

<distributable/>
</web-app>

第五步,重启服务器,然后查看tomcat是否启动。

命令:reboot

或    shutdown -r now

或    shutdown -r 10

或    init 6

# 查看tomcat是否启动

命令:netstat -nap | grep [tomcat端口号]

或    lsof -i:[tomcat端口号]

或    netstat -ntl | grep [tomcat端口号]

第六步,进入/usr/local/tomcat1/webapps/manager和/usr/local/tomcat2/webapps/manager,分别创建session.jsp文件。

命令:vim /usr/local/tomcat1/webapps/manager/session.jsp

将下面的代码复制到session.jsp文件中:

<h1>18080</h1>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<BR>
SessionID:<%=session.getId()%>
<BR>
SessionIP:<%=request.getServerName()%>
<BR>
SessionPort:<%=request.getServerPort()%>
<BR>

vim /usr/local/tomcat2/webapps/manager/session.jsp

将下面的代码复制到session.jsp文件中:

<h1>28080</h1>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<BR>
SessionID:<%=session.getId()%>
<BR>
SessionIP:<%=request.getServerName()%>
<BR>
SessionPort:<%=request.getServerPort()%>
<BR>

最后直接在本地浏览器访问配置的nginx ip地址+项目名+页面名,即http://x.x.x.x/manager/session.jsp,就可以查看两个session域是否共享,即SessionID是否一样。

  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jerry 二河小鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值