阿里云服务器Tomcat无法从外部访问

本文介绍了解决阿里云Ubuntu环境下Tomcat部署后无法从外部访问的问题。通过检查防火墙状态并确认其已关闭,最终发现需要在阿里云的安全组中配置允许外部访问的具体端口,成功实现了通过HTTP访问部署的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境

阿里云 Ubuntu 12.04.5 LTS

tomcat和java都是阿里云默认的7的版本,如下图

二、问题

部署后./startup.sh启动tomcat 之后外部访问http://ip:8080/无法访问,之后去查看防火墙

关闭了Ubuntu下面的防火墙 

root@alyking:/alidata/server# sudo ufw status
Status: inactive
root@alyking:/alidata/server# 

再次访问http://ip:8080/还是失败,于是修改tomcat端口为8088(以为8080端口被占用了)

结果还是不行

三、解决办法

进入阿里云主机控制台,安全组,如下图所示,点击配置规则

配置规则,添加规则允许任何IP访问8088,如下图所示

再次访问http://ip:8088/(因为tomcat的端口我修改成了8088),如下图所示,访问OK

 

### 安装和配置Tomcat服务器 #### 准备工作 确保已经安装了适合项目需求的JDK版本,因为Spring Boot项目通常自带嵌入式的Tomcat容器,但在某些情况下仍需独立部署Tomcat环境[^2]。 #### 下载并解压Tomcat软件包 访问Apache Tomcat官方网站下载最新稳定版压缩文件至阿里云ECS实例内,并通过命令行工具完成解压缩操作。假设已上传tar.gz格式的归档文件到`/opt`目录下,则可以执行如下指令: ```bash cd /opt sudo tar -zxvf apache-tomcat-*.tar.gz --strip-components=1 -C /usr/local/tomcat9 ``` 此过程会把所有内容释放到指定的目标路径中去[^1]。 #### 配置环境变量 编辑~/.bashrc或/etc/profile文件,在其中加入以下两行来设置CATALINA_HOME以及PATH环境变量: ```bash export CATALINA_HOME=/usr/local/tomcat9 export PATH=$PATH:$CATALINA_HOME/bin ``` 使更改生效可运行source ~/.bashrc 或者 source /etc/profile 命令[^3]。 #### 设置开机自启项和服务管理脚本 创建名为tomcat的服务启动脚本位于`/etc/systemd/system/`目录下面,命名为`tomcat.service`: ```ini [Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 Environment=CATALINA_PID=/usr/local/tomcat9/temp/tomcat.pid Environment=CATALINA_HOME=/usr/local/tomcat9 Environment=CATALINA_BASE=/usr/local/tomcat9 ExecStart=/usr/local/tomcat9/bin/startup.sh ExecStop=/bin/kill -15 $MAINPID User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target ``` 保存退出后刷新守护进程配置并通过systemctl enable tomcat实现随系统自动加载功能;另外还可以利用chkconfig --add /etc/rc.d/init.d/tomcat将它添加到服务列表当中以便于后续维护管理。 #### 修改防火墙规则允许外部访问端口 如果希望从公网能够正常连接到本地搭建好的Web应用平台的话,那么就需要开放相应的HTTP(S)协议对应的TCP监听端口号(默认分别为80,443),这里以CentOS为例展示具体做法: ```bash firewall-cmd --zone=public --permanent --add-port=80/tcp firewall-cmd --zone=public --permanent --add-port=443/tcp firewall-cmd --reload ``` 对于Ubuntu Server而言则应该借助ufw实用程序来进行相同的操作处理。 #### 测试验证 最后一步就是检验整个流程是否顺利完成——即能否顺利浏览由新设立起来的应用服务器所提供的欢迎页面啦!此时只需打开浏览器窗口输入形如 `http(s)://<your_domain_or_IP>:8080` 的URL地址即可。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值