zoukankan      html  css  js  c++  java
  • Tomcat相关知识总结

    有关Tomcat的杂货店

    一、修改端口号,并以IP访问

    1.确保80端口没有程序占用。例如nginx等。

    2.vi /tomcat/conf/server.xml

    3.找到<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    修改为<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    4.找到 <Host name="localhost" appBase="webapps"

    unpackWARs="true" autoDeploy="true">

    修改为 <Host name="<IP>" appBase="webapps" unpackWARs="true" autoDeploy="true">

    5.在 <HOST>**********</HOST>标签中添加<Context path="" docBase="<项目绝对路径>"/>

    6.删除webapps目录下的ROOT目录。

    7.启动tomcat

    8.TIP:修改nginx端口方式如下:

    vi /usr/local/nginx/conf/nginx.conf 找到 http下的server,找到listen 将80改为其他。

    注意:

    不用root用户启动时,会报Caused by: java.net.SocketException: 权限不够。

    原因其实是因为在linux下,如果使用1024以下的端口则需要root权限,所以会报权限不够异常。解决办法有两个:1.用root账户启动。2.将80端口改为1024以上。

    还有一种不算办法的办法,比较难看。即将80端口消息转发到大于1024的端口上。

     

      tables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080
      iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 –dport 80 -j REDIRECT –to-ports 8080

      清除转发规则命令:

      iptables -t nat -F PREROUTING 

      iptables -t nat -F OUTPUT

     

    二、修改tomcat的jre及jdk

    1.修改tomcat目录下的bin目录下的startup.sh文件。

    2.在文件的开始加入如下配置

    export JAVA_HOME=/root/桌面/autoStart/gates/java

    export JRE_HOME=$JAVA_HOME/jre

    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

    export PATH=$JAVA_HOME/bin:$PATH

    export CATALINA_HOME=/root/桌面/autoStart/gates/tomcat

    将红色字体的内容改为自己的即可。

    三、修改tomcat的jvm配置

      1.编辑catalina.sh

      2.在文件里加入(尽量在前面)JAVA_OPTS='-Xms512m -Xmx1024m'

    四、解决tomcat跨域问题&&java web 跨域问题

    1.将java-property-utils-1.9.1.jar 和 cors-filter-2.6.jar放到tomcat的lib目录下

    http://search.maven.org/remotecontent?filepath=com/thetransactioncompany/java-property-utils/1.9.1/java-property-utils-1.9.1.jar

    http://search.maven.org/remotecontent?filepath=com/thetransactioncompany/cors-filter/2.6/cors-filter-2.6.jar

    2.修改tomcat的web.xml,追加以下信息:

    <filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
    <init-param>
    <param-name>cors.allowOrigin</param-name>
    <param-value>*</param-value>
    </init-param>
    <init-param>
    <param-name>cors.supportedMethods</param-name>
    <param-value>GET, POST, HEAD, PUT, DELETE</param-value>
    </init-param>
    <init-param>
    <param-name>cors.supportedHeaders</param-name>
    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
    </init-param>
    <init-param>
    <param-name>cors.exposedHeaders</param-name>
    <param-value>Set-Cookie</param-value>
    </init-param>
    <init-param>
    <param-name>cors.supportsCredentials</param-name>
    <param-value>true</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>CORS</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    五、tomcat运行cgi

    修改tomcat/conf/web.xml,第一处红字为cgi路径,第二个红字为cgi一级url   加入

    <servlet>
    <servlet-name>cgi</servlet-name>
    <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
    <init-param>
    <param-name>debug</param-name>
    <param-value>0</param-value>
    </init-param>
    <init-param>
    <param-name>cgiPathPrefix</param-name>
    <param-value>WEB-INF/cgi</param-value>
    </init-param>
    <init-param>
    <param-name>executable</param-name>
    <param-value></param-value>
    </init-param>
    <load-on-startup>5</load-on-startup>
    </servlet>

    <servlet-mapping>
    <servlet-name>cgi</servlet-name>
    <url-pattern>/cgi-bin/*</url-pattern>
    </servlet-mapping>

    六、tomcat7以上设置HTTPS

    可以申请阿里云的pfx证书,申请后在tomcat安装目录下的conf下新建cert目录。将阿里的pfx证书放到此目录下。

             <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
                maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                keystoreFile="conf/cert/ikhtech.pfx"
                keystoreType="PKCS12"
                keystorePass="f8b6Nbfz"
                clientAuth="false" sslProtocol="TLS" />

    修改tomcat下的conf下的server.xml,找到原8443端口的配置,直接改为上面代码即可。重启Tomcat后即可直接以HTTPS访问。此方法只适用于Tomcat7及7以上。

     

     

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    win10右键新建markdown文件
    force down pool_member
    自控力差,你可能忽略了一种更底层的能力
    多线程的通信问题
    多线程的安全问题
    Java实现多线程的两种方式
    为什么你成不了数据分析高手?可能是缺少这个思维
    jstack && jmap
    对ElasticSearch主副分片的理解
  • 原文地址:https://www.cnblogs.com/chxwkx/p/11133489.html
Copyright © 2011-2022 走看看