Tomcat7配置私人共享

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

tomcat安装

第一步,下载server-jre-7u80-linux-x64.tar.gz和apache-tomcat-7.0.90.tar.gz安装包。

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

命令:cd /usr/local/src

wget https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html/jre-7u80-linux-x64.tar.gz

wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.90/bin/apache-tomcat-7.0.90.tar.gz

第二步,解压server-jre-7u80-linux-x64.tar.gz和apache-tomcat-7.0.90.tar.gz安装包。

命令:cd /usr/local/src

tar -zxvf server-jre-7u80-linux-x64.tar.gz -C /usr/local

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

cd /usr/local

mv apache-tomcat-7.0.90 tomcat1

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

命令:useradd tomcat

chown -R tomcat:tomcat /usr/local/jdk1.7.0_80

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

第四步,配置环境变量。

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

export JAVA_HOME=/usr/local/jdk1.7.0_80

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 port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"

         connectionTimeout="20000"  maxThreads="1000"

         minSpareThreads="100"      maxSpareThreads="200"

         acceptCount="900"      disableUploadTimeout="ture"

         URIEncoding="UTF-8"        enableLookups="false"

         compression="on"       compressionMinSize="1024"

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"

         redirectPort="8443" />

<!-- A "Connector" using the shared thread pool-->

    ...

</Server>

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

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

JAVA_HOME=/usr/local/jdk1.7.0_80

JRE_HOME=/usr/local/jdk1.7.0_80/jre

# 内存空间优化

JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx1024m"

# 赋予catalina.sh执行权限

命令: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:8081http://x.x.x.x/index.jsp)在本地浏览器访问。

若页面成功显示“Apache Tomcat/7.0.90”,则说明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”,则说明脚本文件有用。

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

命令:service tomcat1 start

service tomcat1 stop

service tomcat1 restart

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

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

命令:reboot

或    shutdown -r now

或    shutdown -r 10

或    init 6

# 查看tomcat是否启动

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

或    lsof -i:[tomcat端口号]

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

tomcat配置私人共享

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

    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;

        }

     }

第二步,重启nginx服务。

命令:nginx -t

service nginx reload

ps -ef | grep nginx

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

分别进入文件夹/usr/local/tomcat1/conf和/usr/local/tomcat2/conf,只需配置 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 节点,或者把Cluster节点的注释打开,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.MessageDispatch15Interceptor"/>

          </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.JvmRouteSessionIDBinderListener" />

          <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>

第六步,进入/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>

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

命令:service tomcat1 restart

service tomcat2 restart

# 查看tomcat是否启动

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

或    lsof -i:[tomcat端口号]

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

第八步,查看两个session域是否共享

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

  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值