`
亦梦亦真
  • 浏览: 229635 次
  • 性别: Icon_minigender_1
  • 来自: 秦皇岛
社区版块
存档分类
最新评论

启动TOMCAT想搞定为80端口(非ROOT用户)

 
阅读更多

非root用户,修改tomcat启动端口为80,启动时报错解决方案————通过Iptables端口转发

 

2011-07-17 13:21:42 org.apache.tomcat.util.digester.SetPropertiesRule begin 

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property. 
2011-07-17 13:21:42  org.apache.catalina.core.AprLifecycleListener init 
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/jdk1.5.0_16/jre/lib/i386/client:/usr/jdk1.5.0_16/jre/lib/i386:/usr/jdk1.5.0_16/jre/../lib/i386 
2011-07-17 13:21:42  org.apache.coyote.http11.Http11Protocol init 
严重: Error initializing endpoint 
java.net.BindException: Permission denied:80 
... ...

上面可以看到,非root用户其实没有绑定80端口的权限。在Linux下低于1024的端口是root专用,而Tomcat安装后默认使用用户tomcat启动的,所以将端口改为80后启动,会产生错误:java.net.BindException: Permission denied:80

解决方法是:

第一步,重将Tomcat的端口(server.xml)由80改回8080。

第二步,通过Iptables端口实现80到8080的转发,命令为:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

-A PREROUTING 添加新规则
-p 检查tcp协议
--dport 80 指定目标端口
-j REDIRECT 目标跳转
--to-prot 8080 指定源端口

 

需要用root用户的权限去执行!

这样,用户访问80端口和8080端口时,得到的结果是一样的,以为内其实都是访问到了8080端口。

分享到:
评论

相关推荐

    修改Tomcat端口为默认80端口

    然而,在实际生产环境中,为了方便用户访问,通常会将Tomcat的端口修改为标准的HTTP端口80,这样用户就可以像访问其他非Java Web站点一样直接通过域名或IP地址进行访问。 #### 修改步骤详解 **第一步:编辑Server....

    linux下非root用户运行tomcat

    接着,我们需要修改Tomcat的启动脚本`daemon.sh`,设置`TOMCAT_USER`为我们的非root用户(这里是`tomcat`),并取消`JAVA_HOME`的注释,设置为实际的JDK路径。 为了使非root用户能够正常运行Tomcat,我们需要更改...

    java代码启动tomcat

    在本示例代码中,我们将 Tomcat 服务器的端口号设置为 15435,基础目录设置为当前目录下的 server 文件夹,并将 URI 编码设置为 UTF-8。 知识点 4: Tomcat 服务器的生命周期 Tomcat 服务器的生命周期主要包括启动...

    weblogic集成多个Tomcat服务,自动分配tomcat服务,80端口访问

    总的来说,这个示例展示了如何通过WebLogic集成多个Tomcat实例,实现自动分配服务和80端口访问,从而提升应用的可扩展性和用户体验。这样的架构不仅提供了高可用性,也允许灵活地调整服务规模,以应对不断变化的业务...

    iis7整合tomcat7共用80端口

    本文将详细介绍如何在IIS7中通过JK模块来整合Tomcat7,实现两者共用80端口,提高服务器资源利用率。 首先,我们需要了解整合的目的。通常,IIS7主要处理静态内容,如HTML、CSS、JavaScript等,而动态内容如JSP、...

    IIS和tomcat 公用80端口

    1. **配置IIS反向代理**:可以使用IIS的URL重写模块或Application Request Routing (ARR) 模块,将到达80端口的特定请求转发到Tomcat的非标准端口(如8080)。这样,用户可以直接访问域名,而无需指定端口号,IIS会...

    非root用户安装指定jdk版本的tomcat

    ### 非root用户安装指定jdk版本的tomcat #### 背景介绍 在实际工作中,有时会遇到需要在同一台服务器上同时运行多个不同版本的Java应用的情况。特别是当服务器上已经安装了某个特定版本的Java Development Kit (JDK...

    tomcat8.5(修改端口号为‘8888’)

    标题“tomcat8.5(修改端口号为‘8888’)”涉及的核心知识点是关于Apache ...解压后,用户可以按照上述步骤进行端口修改,然后在本地系统上启动Tomcat服务器,确保它在8888端口上正常工作,无冲突地运行Web应用程序。

    Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    在Linux(CentOS7)操作系统中安装Apache Tomcat并将其设置为开机启动是一项常见的任务,特别是在部署Java web应用时。本篇文章将详细讲解如何在CentOS7上安装Tomcat8并将其配置为自启动服务。 首先,我们来了解...

    tomcat因端口被占无法启动

    "Tomcat无法启动解决方案:端口冲突处理" Tomcat是一个流行的Java servlet容器,用于运行Java Web应用程序。但是在实际使用中,Tomcat可能会出现无法启动的情况,导致开发和生产环境中的问题。今天,我们将讨论...

    Centos7如何启动tomcat

    - **检查端口占用情况**:如果尝试启动Tomcat时遇到端口被占用的情况,可以使用`netstat –apn | grep 8080`命令来查看8080端口是否已被其他程序占用。 ```bash netstat –apn | grep 8080 ``` - **释放被占用...

    tomcat部署端口后修改

    为什么需要修改Tomcat的端口号 在多个应用程序共享同一个服务器的情况下,可能会出现端口号冲突的问题。如果两个应用程序使用相同的端口号,可能会导致冲突和错误。为了避免这种情况,我们需要修改Tomcat的端口号,...

    Tomcat部署为每个应用分配不同端口

    【Tomcat部署为每个应用分配不同端口】的实践与理解 在IT行业中,Tomcat作为流行的Java Servlet容器,常用于部署Web应用程序。部署过程包括安装应用到Tomcat服务器,通常分为静态部署和动态部署两种方式。 **静态...

    Tomcat-ROOT.rar

    将应用命名为"ROOT"的WAR文件或解压后的目录放在Tomcat的webapps目录下,可以使其成为默认应用。 3. **web.xml**:在"WEB-INF"目录下,web.xml是Web应用的部署描述符,定义了应用的配置信息,如Servlet的映射、过滤...

    让iis和tomcat共用80端口

    ### 让IIS和Tomcat共用80端口:详细配置步骤与注意事项 在企业级应用环境中,经常需要在一台服务器上同时...通过以上步骤,即可实现在同一台服务器上,IIS和Tomcat共用80端口,为用户提供统一且高效的Web服务体验。

    linux 启动 Tomcat 命令

    ### Linux下启动Tomcat命令详解 #### 一、前言 在Linux环境下部署与管理Java Web应用程序时,Apache Tomcat服务器作为最常用的轻量级应用容器之一,其启动与停止命令是运维人员必须掌握的基本技能。本文将详细介绍...

    server2008 开机后台启动tomcat

    注意:在访问项目之前,需要先手动启动 Tomcat 的 startup.bat,以确保项目的端口正确以及项目是否报错。 本文详细介绍了如何在 Server 2008 环境下配置 Tomcat 的后台启动,以便在系统启动时自动启动 Tomcat 服务...

Global site tag (gtag.js) - Google Analytics