JS1*_*S16 39 port80 tomcat7 ubuntu-14.04
我在新更新的Ubuntu系统上安装了tomcat7时遇到问题.自从更新到14.04 LTS以来,tomcat拒绝在端口80上启动时出现我无法解决的错误,也找不到任何关于如何解决它的问题:
Information: Initializing ProtocolHandler ["http-bio-80"]
Apr 24, 2014 4:39:37 PM org.apache.coyote.AbstractProtocol init
Schwerwiegend: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]
java.net.SocketException: Datei oder Verzeichnis nicht gefunden
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:181)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:397)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:640)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:813)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
Run Code Online (Sandbox Code Playgroud)
问题是,我完成了我之前在Ubuntus中所做的事情(运行12.04 LTS),简而言之,将server.xml编辑到端口80,并将/ etc/default/tomcat7中的authbind更改为yes,所以基本上你需要做的就是在端口80上运行tomcat.
在12.04LTS上执行这些步骤可以正常工作,就在14.04LTS上它现在抛出这个"文件或目录未找到"错误.
此外,当将12.04LTS(tomcat在端口80上正常运行)升级到14.04LTS时,它会突然抛出上述错误,而所有配置都与12.04LTS中的配置相同.
我希望有人能帮我解决这个问题.
Che*_*tan 117
以下作品:
apt-get install authbind
首先,设置AUTHBIND=yes在/etc/default/tomcat7文件
sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
sudo chown tomcat7 /etc/authbind/byport/80
Run Code Online (Sandbox Code Playgroud)
这里有一个参考网址,但网站已被黑客攻击(在Edge中标记为不安全,Chrome会提示我安装浏览器扩展程序).
小智 13
在server.xml中默认使用端口8080
运行:sudo/sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
EN在Ubuntu 14.04中将流量从端口80重定向到8080(默认在tomcat中),无法在server.xml中将默认端口设置为80.
FR(Ceci redirige le trafic du port 80 vers 8080(Pardéfautanstomcat)dans Ubuntu 14.04 il n'pas pas de estre le portpardéfautà80dans server.xml.)
为了使这个持久化:sudo apt-get install iptables-persistent
EN此程序包允许您保存先前输入的iptables规则.一定要回答是(保存当前设置).FR Ce包permet de sauvegarderlesrèglesiptablesentréesprécédemment.Ilfautrépondreouaux questions,(sauvegarderlesparamètresenitels).
| 归档时间: |
|
| 查看次数: |
49780 次 |
| 最近记录: |