`

Tomcat 在基于 Unix 系统上无法绑定80端口的解决方法

 
阅读更多

这种情况通常发生在以非root权限用户启动的情况下。

原因:
在基于Unix的系统上,绑定小于1024的端口需要root权限。

解决方法:

1.以root权限启动
我想大概没人愿意在产品化部署时root权限运行JSP,当然如果你是在本地开发测试没有任何问题。

2.做端口转发
这种情况通常时你使用Eclipse等IDE内部的WTP运行时使用,因为你没法指定root权限运行(个人看法,未深入研究),所以做个端口转发,简单快速使用,不用时删掉就OK。
基于BSD系统(比如Mac OS)使用 ipfw:

1
sudo ipfw add fwd 127.0.0.1,8080 tcp from any to 127.0.0.1 80 in

在不使用得时候,可以删除转发

1
2
3
$sudo ipfw list #查看规则列表
00100  fwd 127.0.0.1,8080 tcp from any to 127.0.0.1 80 in
$sudo ipfw 00100 #删除rule id 为00100的规则。注意:根据你的是情况替换rule id

Linux系统使用 iptables:

1
2
iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -I OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080

3.通过前端服务器反向代理(通常用于产品化部署)
使用Nginx,Apache等Web服务器运行于80端口,然后代理到Tomcat运行端口8080

关于Nginx反向代理的配置,可以参见我之前关于Nginx的文章。
Nginx 反向代理的使用
使用 Nginx + Mercurial(aka hg) 架设版本管理系统
Nginx系列文章

分享到:
评论

相关推荐

    unix里面java开发的详细介绍

    在Unix环境中,不同的网络服务通常绑定在特定的端口上。例如,HTTP服务默认使用80端口,FTP服务使用21端口,而Telnet服务则绑定在23端口。对于数据库服务,Oracle通常使用1521端口,MySQL使用3306端口。此外,应用...

    flex tomcat端口被占用的问题分析及解决方法

    - 如果是由于权限问题导致无法绑定端口,尝试以管理员身份运行Tomcat或调整系统策略允许非管理员用户使用特定端口。 5. **检查防火墙设置:** - 确保防火墙没有阻止Tomcat使用的端口。如果有防火墙规则限制了8080...

    配置iptables,把80端口转到8080的简单方法

    在Linux的下面部署了tomcat,为了安全我们使用非root用户进行启动,但是在域名绑定时无法直接访问80端口号。众所周知,在unix下,非root用户不能监听1024以上的端口号,这个tomcat服务器就没办法绑定在80端口下。...

    Tomcat9.0.2

    同时,"同样适用于Linux系统"表明该版本的Tomcat不仅可以在Windows系统上运行,还支持多种Unix/Linux操作系统,具有良好的跨平台性。 **标签解析** "tomcat"标签明确了讨论的主题是关于Apache Tomcat,它是Java ...

    apache-tomcat-5.5.29

    1. **安装与配置**:下载并解压apache-tomcat-5.5.29压缩包后,用户可以通过修改conf/server.xml文件来配置端口号、应用上下文路径、连接器等。同时,可以设置环境变量CATALINA_HOME指向Tomcat的安装目录。 2. **...

    tomcat-8.5.43.rar

    【标签】"tomcat8" 代表了这个版本的Tomcat是基于Java 8的,与Java 7及更早版本相比,它支持更多的特性和改进。例如,Java 8引入了Lambda表达式、Stream API和新的日期时间API,这些在Tomcat 8中都可以得到充分利用...

    apache-tomcat-6.0.16

    1. **下载与解压**:从官方或可靠的源下载该版本的Tomcat,然后在本地文件系统上解压缩。 2. **配置环境变量**:设置`CATALINA_HOME`环境变量指向Tomcat的根目录。 3. **启动与停止**:使用`bin/startup.sh`(Unix...

    Tomcat免安装

    2. **启动与停止**:在bin目录下,通过执行startup.sh(Unix/Linux)或startup.bat(Windows)脚本来启动Tomcat,而shutdown.sh或shutdown.bat用于停止服务。 3. **配置**:`server.xml`是Tomcat的主要配置文件,...

    apache-tomcat-7.0.27

    3. **安全管理**:Tomcat提供了安全管理器,通过修改conf/tomcat-users.xml添加用户和角色,可以实现基于角色的访问控制(RBAC)。此外,还可以配置SSL/TLS以加密传输数据。 4. **日志管理**:Tomcat的日志信息默认...

    apache-tomcat-9.0.65

    5. **配置**:在`conf`目录中,`server.xml`是最重要的配置文件,它定义了服务器的行为,包括端口号、连接器、虚拟主机和应用上下文等。`context.xml`用于配置全局上下文,而`web.xml`则包含Web应用的部署描述符。 ...

    tomcat-8.0.45

    1. **bin目录**:包含了启动、停止和管理Tomcat的各种脚本,如`catalina.sh`或`catalina.bat`(分别适用于Unix/Linux和Windows系统)。 2. **conf目录**:存放Tomcat的配置文件,如`server.xml`定义了服务器的全局...

    tomcat5.5.rar )

    Tomcat作为轻量级应用服务器,在中小型系统和并发访问用户不是很多的环境中被广泛使用,与大型企业级应用服务器如JBoss、WebLogic相比,它的安装、配置和管理相对简单。 在"tomcat5.5.rar"这个压缩包中,我们主要会...

    juddi-tomcat-2.0.1

    3. **启动Tomcat**:在Tomcat的bin目录下,运行"startup.bat"(Windows)或"startup.sh"(Linux/Unix)以启动服务器。 4. **访问Juddi**:启动成功后,你可以在浏览器中输入"http://localhost:8080/juddi"来访问...

    tomcat中文手册

    安装Tomcat通常涉及下载最新版本的二进制包,解压到指定目录,然后通过修改`conf/server.xml`文件来配置端口号、上下文路径等。同时,还需要设置环境变量`CATALINA_HOME`指向Tomcat安装目录。 三、启动与停止 ...

    apache-tomcat-9.0.0.M20-src.tar.gz

    相比于Eclipse或MyEclipse内置的服务器,Tomcat作为独立的服务器,具有更轻量级的结构,启动和关闭速度快,对系统资源的需求相对较小,因此在开发和测试环境中特别受欢迎。 **源代码的意义** 源代码的提供允许...

    Apache-tomcat-7.0.47.zip

    在Tomcat 7.0.47中,有几个关键知识点是开发者和系统管理员应该了解的: 1. **Servlet 3.0支持**:Tomcat 7.0.x系列支持Java Servlet 3.0规范,引入了许多新特性,如异步处理、注解驱动的配置、过滤器链的改进等,...

    apache-tomcat-7.0.11

    EL(Expression Language)2.2允许在表达式中使用方法调用,增强了动态数据绑定的能力。 "apache-tomcat-7.0.11"的绿色版本意味着它包含了运行Tomcat所需的所有组件,包括核心库、配置文件、Web应用程序目录...

    apache-tomcat-8.0.18

    接着,你可以通过bin目录下的startup.sh(Unix/Linux)或startup.bat(Windows)脚本启动Tomcat服务器。 2. **目录结构**:Apache Tomcat的目录结构包括bin、conf、lib、logs、webapps、work等。bin目录存放可执行...

    Tomcat5.5.20中文使用帮助文档

    3. **启动与停止**:了解如何通过命令行或者启动脚本启动和停止Tomcat服务,以及在Windows和Unix/Linux系统中的差异。 4. **目录结构**:理解Tomcat的目录结构,如`bin`(存放可执行文件)、`conf`(配置文件)、`...

    多个Tomcat配置

    当我们需要在一台服务器上同时运行多个Tomcat实例时,这通常是为了隔离不同应用,提高系统资源利用率,或者为不同的项目提供独立的运行环境。以下是关于"多个Tomcat配置"的相关知识点: 1. **多实例配置**:在一台...

Global site tag (gtag.js) - Google Analytics