Ubuntu作为服务器其tomcat被远程访问问题

根据我的Linux版本tomcat下载及安装安装好tomcat之后,但是还不能直接访问我 ubuntu 服务器的公网 ip, 即http://xxx.xxx.xxx.xxx:8080访问不到 Apache tomcat主页,还需要进行配置。

一、在路由器管理页面配置转发规则

如果你和我一样,服务器在局域网,但是需要用另一台非同一局域网下的主机访问,就需要在服务器上做这个步骤。将服务器局域网的端口映射到公网。

服务端口内部端口内网Ip地址协议状态
108022192.168.0.xxxTCP生效
80808080192.168.0.xxxTCP生效
8080192.168.0.xxxTCP生效

我将我内网的22端口映射到公网ip的1080端口,8080端口就映射到8080,80端口亦如此。

二、修改tomcat的server.xml

这部分我是根据下面两篇文章来修改的。
参考文章1:搭建tomcat服务器,目标可通过外网ip访问本机

参考文章2:
外网访问Ubuntu下的Tomcat

1、修改tomcat目录下的/conf/server.xml文件

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

将port字段修改为一个开放端口,你也可以改成80,这样在访问时就不用加端口号了,但是要记得开放80端口。我还是使用的8080。

一定要确保该端口是开放的
端口的开放参考下文:
Ubuntu系统中防火墙的使用和开放端口

我使用的命令有:

查看防火墙的状态
#sudo ufw status开启防火墙
#sudo ufw enable关闭防火墙
#sudo ufw disable指定开放8080的tcp协议
#sudo ufw allow 8080/tcp指定关闭8080的tcp协议
#sudo ufw deny 8080/tcp //普通端口不加后面的斜杠和协议即可重启防火墙,使配置生效
#sudo ufw reload

2、修改tomcat/conf/server.xml文件

  <Engine name="Catalina" defaultHost="localhost"><Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true">

同一局域网下:局域网将localhost改为你的IP地址,ubuntu下可以使用ifconfig查看
非同一局域网:首先你要确定你有一个外网ip地址。如果你分配到的是一个局域网IP地址需要经过一系列的转换为外网ip地址,ubuntu下可以使用curl cip.cc查看。将两个localhost改为你的公网ip。

一般到这里tomcat的启动好像大部分就可以了,但是我没有,我启动tomcat正常,但是关闭时报/usr/environment/java/jdk1.8.0_281/jre /bin/java: not found,这时我只知道我环境变量肯定存在问题。

三、其他可能需要的操作

3、打开apache-tomcat-9.0.44/bin中的startup.sh、shutdown.sh文件进行配置

将自己的java环境变量复制到这个位置,以及Tomcat的环境变量。
在这里插入图片描述

#配置java环境
export JAVA_HOME=/usr/environment/java/jdk1.8.0_281 
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib??
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin
#配置tomcat
export TOMCAT_HOME=/usr/environment/tomcat/apache-tomcat-9.0.44

参考文章:
Ubuntu16.04安装配置tomcat及windows无法访问解决方案

4、在tomcat的配置文件 service.xml加上 address=“0.0.0.0”

localhost可以访问,127.0.0.1和本地IP无法访问

 <Connector address="0.0.0.0" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />

5、如果你的tomcat启动时正常,但是执行./shutdown.sh时报错

一是看命令行窗口错误信息,二是看tomcat目录中logs文件夹下的catalina.sh中的错误日志,内容是一致的。我当时到这里都没有解决,然后仔细看错误信息。

/usr/environment/java/jdk1.8.0_281/jre  /bin/java: not found

去该目录下查找java文件,是可以找到的,所以确定是java环境变量的问题,jre后面多了两个空格,那么在我所有与java环境变量有关的配置文件中,都去检查修改了一遍。将jre与下一行export之间的两个空格去掉,最后成功了。

export JAVA_HOME=/usr/environment/java/jdk1.8.0_281 
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=$PATH:${JAVA_HOME}/bin:$JRE_HOME/bin

在本地windows主机下访问:
http://113.54.xxx.xxx:8080/
在这里插入图片描述
tomcat主页面终于出来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

没有已启用的仓库。 执行 “yum repolist all“ 查看您拥有的仓库。

问题描述&#xff1a; yum是RPM的前端程序&#xff0c;对于多软件安装时非常好用&#xff0c;在虚拟机中想要安装什么软件都可以使用yum install 软件来快速调用仓库安装&#xff0c;但是我初次使用这个命令的时候一直报错&#xff0c;显示 没有已启用的仓库。 执行 “yum rep…

Linux下安装Redis

下载安装包 Linux版本下载地址&#xff1a; Redis中文官方网站&#xff1a;http://www.redis.cn/ 点击箭头处即可下载tar.gz文件。 安装 1、上传文件到linux服务器上 我是使用Xshell远程安装到linux服务器&#xff0c;所以先使用xftp把安装包上传到服务器指定目录下 2、…

windows安装双JDK并实现版本切换

我本来只有一个JDK11&#xff0c;后来因为要用到jdk8&#xff0c;但是我又不想卸载掉11&#xff0c;于是想到了jdk共存&#xff0c;根据百度经验操作作了如下一通操作&#xff1a; 1、删除java.exe,javac.exe,javaw.exe 首先&#xff0c;jdk11会自动在 C:\Program Files\Comm…

Jedis使用测试——连接本地及远程的Redis

我们要使用Java来操作Redis&#xff0c;就要学会使用Jedis 一、什么是jedis 是Redis官方推荐的java连接开发工具&#xff01;使用Java操作Redis 中间件!如果你要使用java操作redis&#xff0c;那么一定要对Jedis十分的熟悉! 二、测试 新建一个空的工程&#xff0c;然后新建一…

NetBeans IDE 7.1 Window Layout Designer

http://blogs.oracle.com/geertjan/entry/netbeans_ide_7_1_window——————————————————————————————————————————————————————————————————In 7.1, youll see this in the New File dialog: I.e., as you ca…

org.springframework.data.redis.serializer.SerializationException: Cannot serialize;

错误&#xff1a; . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/:: Spring Boot :: …

poj2008

题意&#xff1a;给定一些点的坐标(hi,wi)&#xff0c;要选出一个点集&#xff0c;使得集合所包含的点数最多&#xff0c;且符合A*(H-h) B*(W-w) < C&#xff0c;h为集合中最小h&#xff0c;w为点集中最小w。 分析&#xff1a;我们是要找到这样的点集&#xff0c;hi>h&a…

Git右键没有Git Bash Here的解决办法

好长一段时间没有使用Git了&#xff0c;今天想用git在码云上下载东西&#xff0c;但是突然发现右键没有Git Bash Here了&#xff0c;然后在网上搜索了一番&#xff0c;然后解决了。 解决方法&#xff1a; winR 打开运行小窗口&#xff0c;在 “ 运行 ” 中输入‘ regedit ’&…

对HashMap数据结构的理解——加载因子和初始容量

先看源码&#xff1a; 解释一下位移运算&#xff1a; 1<<4 是位移运算的表示&#xff0c;为十进制16 1的二进制表示&#xff1a;1 左移4位之后的二进制表示为B&#xff08;10000&#xff09; D&#xff08;16&#xff09; 更简单的计算方法就是 1<< n 等效于 1 乘…

“习惯性思维”引起的血案

好久没有更新了&#xff0c;一客户因为IT规划问题&#xff0c;需要将Citrix服务器迁到新的域&#xff0c;Citrix服 务器需要重新配置。但是当我重新配置完站点后&#xff0c;发现无论如何都登录不了。 错误截图&#xff1a; 我按照传统的思路来解决问题&#xff0c; 1、查看服务…

剑指 Offer 52. 两个链表的第一个公共节点

剑指 Offer 52. 两个链表的第一个公共节点 输入两个链表&#xff0c;找出它们的第一个公共节点。 思想&#xff1a;双指针法&#xff0c;浪漫相遇 public static ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode pointA headA;ListNode pointB he…

IDEA查看源码时总是出现.class而不是.java源码(解决办法)

自己安装的JDK8里面就有源码&#xff0c;就是图中的src.zip&#xff0c;我还傻乎乎的跑去下。 我参考下面这个链接解决了这个问题&#xff1a; https://www.it610.com/article/1283023085871579136.htm 特别注意其中的一句话&#xff1a;把SDKs中多余的jdk删掉留一个就好&am…

ASP“.NET研究”.NET中的认证与授权

用户认证 .net提供了3种用户认证的方式&#xff0c;分别是Windows,Forms&#xff0c;Passport。这几种形式的定义可以在网站根目录下Web.config中的authentication节点中看见。Windows是默认的验证形式&#xff0c;它是根据机器的访问权限来判断的。Passport是微软提供的一种验…

用NuGet掌管你的Vi“.NET研究”sual Studio扩展

如果你使用Visual Studio 2010&#xff0c;那么 NuGet 可以使你的生活更加美好。当你项目里要引用到的一些库时候&#xff0c;比如JQuery 库或者 NHibernate, NUnit, log4net 你就可以考虑使用NuGet。它可以辅助你安装或者更新这些库。 当然我不得不继续说下去从安装到使用&…

cmd窗口使用python提示“Python not found”,可能是环境变量配置的原因

问题1 打开命令行窗口使用python命令无法直接进入python环境&#xff0c;但是从python的安装目录下就可以进去 问题原因 没有配置系统环境变量&#xff0c;需要把python安装路径添加到path环境变量中 环境变量配置&#xff0c;可以参考菜鸟教程 问题2 配置了环境变量之后…

无法打开caffe.pb.h, no such file or directory错误

问题&#xff1a; 使用VS2013生成caffe解决方案的过程中&#xff0c;出现 无法打开caffe.pb.h&#xff0c;no such file or directory ,解决方案 &#xff1a; 参考博客&#xff1a;[caffe] 无法打开caffe.pb.h, no such file or directory错误 博客地址&#xff1a;https://b…

NuGet Error:Unable to find version ‘0.3.3.0‘ of package ‘glog.overlay-x64_v120_Release_dynamic‘.

问题&#xff1a; 使用VS2013生成caffe解决方案时&#xff0c;报错NuGet Error:Unable to find version 0.3.3.0 of package glog.overlay-x64_v120_Release_dynamic. 解决方案&#xff1a; 一、参考文章里面的回答&#xff1a; 链接&#xff1a;NuGet error while buildin…

【caffe】找不到gpu/mxGPUArray.h

问题原因&#xff1a; Microsoft 的github貌似更新了matcaffe中的caffe_.cpp文件&#xff0c;第十六行添加了对gpu/mxGPUArray.h的引用 解决方法 是将本机Matlab的该文件夹复制到Caffe项目文件的对应位置。 具体方法 在你的matlab文件下面搜索mxGPUArray.h文件&#xff0c…

4 error C2220: 警告被视为错误 - 没有生成“object”文件 (..\..\src\caffe\util\math_functions.cpp)

在VS2013上编译caffe时遇到如下问题&#xff1a; 错误原因&#xff1a; 原因是该文件的代码页为英文&#xff0c;而我们系统中的代码页为中文。 解决方法&#xff1a; 将源码转化为正确的编码方式 用VS2013打开对应的文档&#xff0c;文件->打开->选择该cpp&#xff0…

技术人员如何转型为产品经理

技术人员如何转型为产品经理不知道是不是所有的公司开会都是这样&#xff0c;以时间长短作为衡量会议重要性的标准。周扬被郭姐姐叫去开会&#xff0c;9点半开始&#xff0c;直到快12点了&#xff0c;他才满脸愁容地回到办公室。放下笔记本&#xff0c;周扬站到办公室中间&…