zoukankan      html  css  js  c++  java
  • linux下使用 Tomcat 的几个坑

    总结:用sudo su - 后的身份启动tomcat,可选用 bin下的  ./catalina.sh run命令以显示启动过程中可能的报错信息

    1、普通用户是无法使用0~1023的熟知端口的,需要 sudo su - 切换到root身份才可以

    之前把sever.xml里的port改为1023以上的都可以,就是改为熟知端口时启动后连接时报connection refused错误,以root身份启动Tomcat可以解决此问题: 注意是 sudo su - 而不是sudo su

    2、启动时可以用Tomcat bin下的 ./catalina.sh run命令,这样可以看到启动过程中的错误信息

    之前是直接用./startup.sh 显示启动成功,但实际上日志里报错了:

    java.net.BindException: Permission denied <null>:80

    ......

    Caused by: java.net.BindException: Permission denied

    ......

    SEVERE: Failed to initialize connector [Connector[HTTP/1.1-80]]
    org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-80]]

    由于刚开始时一直用./startup.sh启动tomcat,显示启动成功,但实际上报错了没打出来,在这上面debug了好久。

    报上述错误的原因就是普通用户无法使用熟知端口,需要切换到root身份:sudo su - ,然后启动

    3、安装好java后在/etc/profile里配置的环境变量是对所有用户有效的,但是出现普通用户能使用java命令而 sudo su后运行java时报commomd not found:改为sudo su -

    这是因为su是切换用户存取权限,但是没有获得环境变量,所以PATH没有被带入;su -是完全的切换用户,可以获得环境变量,所以可以找到JAVA_HOME

    4、对于文件上传,Tomcat默认会接收文件内容并在Tomcat的临时目录下创建相应临时文件(不是在所在机器的临时目录如Linux下的/tmp)。

  • 相关阅读:
    final有什么用?
    数组的定义
    作业
    List 、Set数据结构
    报表工具实现单据套打
    动态格报表的制作
    图形钻取
    报表工具轻松搞定卡片式报表
    列表钻取
    报表中如何实现不规则布局
  • 原文地址:https://www.cnblogs.com/z-sm/p/4471932.html
Copyright © 2011-2022 走看看