tomcat在ubuntu14下使用80端口

此文章只说明如何打开80端口具体原理方面这里不作过多探讨。nginx

在ubuntu10之后的版本 ubuntu 禁用了普通用户使用1-1024端口。这样当咱们直接更改tomcat的server.xml 中的端口是不能正常启用80端口的。在catalina.out 里咱们会发现如下错误信息。apache

SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]ubuntu

SEVERE: Failed to initialize connector [Connector[HTTP/1.1-80]]tomcat

最简单的理解就是tomcat没有正常的打开80端口。ide

咱们能够经过如下方法打开测试

1、首先咱们要经过 AUTHBIND 给普通用户使用80端口的一个权限。spa

    命令以下代理

    touch /etc/authbind/byport/80server

    chmod 500 /etc/authbind/byport/80 xml

    chown tomcat7 /etc/authbind/byport/80

    (我这里运行tomcat的用户是tomcat7若是是其它用户请自行更改)

这样就给tomcat7这个普通用户使用80端口的权限。


2、而后咱们再修改tomcat的相关配置文件

一、修改/etc/tomcat7/server.xml中的端口

    将原来的 Connector port="8080" protocol="HTTP/1.1" 这里的端口改成80

     Connector port="80" protocol="HTTP/1.1" 

二、修改/etc/default/tomcat7 文件中的AUTHBIND选项。

    通常状况下这个选项是注释掉的并且它在最后一行。

    将#AUTHBIND=no 改成 AUTHBIND=yes

若是不出之外就能够正常使用80端口了。


注:出现这种状况首先是咱们经过apt 这种方式安装tomcat时会出现没法使用80端口的状况。

  若是是直接解压的tomcat二进制包而且用root用户启动服务则不会出现80端口没法打开的状况(这种状况以经测试过能够正常使用80)。

  要是以为以上面方法比较麻烦,也能够将/etc/default/tomcat7配置文件中的用户和组改成root也能够正常打开80端口。毕竟root权限太大不建议使用此方法。

  我的并不推荐tomcat直接使用80端口,推荐使用apache或nginx作反向代理的方式。

相关文章
相关标签/搜索