zoukankan      html  css  js  c++  java
  • 服务器同时运行两个项目

    • 需求:测试服务器需要同时运行两个测试项目,然后本人想到安装两个tomcat,同时跑2个项目,复制一份tomcat,将端口号改成80,其它端口分别加一,并在阿里云服务器上开放相关端口并且下载好ssl证书配置到tomcat的server.xml中。
    • 配置2个tomcat参考博客:https://blog.csdn.net/justinqin/article/details/78563113
      • 配置环境变量
    #vi /etc/profile
    中加入如下内容:
    #tomcat1
    CATALINA_HOME=/home/commodity
    CATALINA_BASE=/home/commodity
    TOMCAT_HOME=/home/commodity
    export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
    #tomcat2
    CATALINA_HOME2=/home/mall
    CATALINA_BASE2=/home/mall
    TOMCAT_HOME2=/home/mall
    export CATALINA_BASE2 CATALINA_HOME2 TOMCAT_HOME2
    然后保存退出使生效
    #:wq
    #source /etc/profile
      • 在第二个tomcat中的catalina.sh中添加
    export CATALINA_BASE=$CATALINA_BASE2
    export CATALINA_HOME=$CATALINA_HOME2
      • 同时启动2个tomcat,出现问题:第二个tomcat启动时卡在“INFO: Deploying web application directory ......”
      • 解决办法参考博客:https://www.cnblogs.com/mycifeng/p/6972446.html操作:找到jdk1.x.x_xx/jre/lib/security/Java.security文件,在文件中找到securerandom.source这个设置项,将其改为:securerandom.source=file:/dev/./urandom,处理完后两个tomcat都能同时启动了
    • 出现问题:两项目中端口修改为80的项目可以通过ssl配置的https访问,另外一个没改端口的项目不可以通过https+8080端口访问(可以通过http+8080访问)(两tomcat用的ssl证书相同)不可通过https访问的项目报错如下:
    18-Oct-2018 13:54:27.298 INFO [http-nio-8080-exec-2] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header
    Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
    java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
    at org.apache.coyote.http11.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:233)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1045)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1533)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1489)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
    • 目前我没有解决办法,小程序需要在测试服务器同时连接运行的不同项目,部署两个tomcat卡在最后一步。需求解决办法:一个tomcat下放2个war包,启动tomcat,通过项目名不同访问不同项目。这个问题先记录下,目前先处理需求,后期有时间找找博客看看能不能完善下。
  • 相关阅读:
    SSH
    List Map Set
    oracle中的in和exsit比较
    Hibernate n+1问题
    单例模式。
    把一段逗号分割的字符串转换成一个数组
    Hibernate总结
    myeclipse安装svn插件的多种方式
    LeetCode 14 Longest Common Prefix
    LeetCode 13 Roman to Integer
  • 原文地址:https://www.cnblogs.com/LJing21/p/9812009.html
Copyright © 2011-2022 走看看