javaweb项目部署到阿里云:5个步骤完成上线访问

本地跑通的javaweb项目,放到服务器上却启动不起来,这种情况很常见。Tomcat怎么装、数据库放在哪、域名怎么指过去,每一步都可能踩坑。下面以一个小型后台管理系统为例,把javaweb项目部署到阿里云的过程走一遍,重点放在容易出问题的地方。

javaweb项目部署到阿里云:5个步骤完成上线访问

一、先看清项目情况,再动手

小林是一名独立开发者,做了一套基于Spring MVC加MyBatis的库存管理系统,打包成WAR文件后,在本地Tomcat 9上运行正常。客户要求系统能从公网访问,数据也要长期保存,于是他决定迁到阿里云。

动手前,有三件事最好先确认:

  • JDK版本:本地用的是JDK 8还是JDK 11,服务器要保持一致,否则容易出现字节码兼容问题。
  • 中间件版本:Tomcat、MySQL的版本尽量和开发环境一致。版本差得太远,出了问题往往要花很久才能定位。
  • 配置外置:数据库地址、账号密码不要写死在代码里,放到单独的配置文件中。换环境时只改配置,不用重新改代码、重新打包。

二、开通ECS与RDS

阿里云上有两类核心资源。ECS是云服务器,用来运行Tomcat;RDS是托管数据库,用来存放MySQL数据。应用和数据分开放,之后做备份、扩容都会更省心。小林选的是2核4G、系统为Alibaba Cloud Linux 3的ECS,同时开通了一个MySQL 8.0版本的RDS实例。

有个细节容易忽略:RDS的白名单要把ECS的内网IP加进去,两者最好位于同一个专有网络VPC下。这样数据库连接走内网,速度更快,数据库也不必暴露在公网上。如果连接失败,先查白名单,再看连接地址是不是误写成了公网地址。

三、配置安全组,只开放必要端口

安全组可以理解为云服务器前面的一道防火墙,哪些端口允许访问,由它决定。小林只开放了三个端口:22用于SSH远程登录,并且只允许自己的办公IP访问;80用于HTTP;443用于HTTPS。Tomcat默认的8080端口不直接对外,交给Nginx做反向代理。

这样做的好处是,外部用户只能访问Nginx,Tomcat始终在内部。之后就算调整应用结构,对外的端口策略也不用跟着改。开放的端口越少,需要盯的范围就越小。

四、安装环境并发布项目

登录服务器后,按下面的顺序操作:

  1. 安装JDK,执行java -version,确认版本和本地一致。
  2. 下载Tomcat压缩包,解压到/opt目录,给执行权限后启动。
  3. 在本地用Maven执行mvn clean package生成WAR包,再用scp上传到服务器。
  4. 把WAR包复制到Tomcat的webapps目录,Tomcat会自动完成部署。

小林第一次部署时,页面直接打开是404。翻日志才发现,WAR包名是inventory.war,访问路径就变成了/inventory,而他原本以为访问根路径就行。把包名改为ROOT.war,或者改用/inventory访问,问题就解决了。

这个坑很典型。上线前一定要核对上下文路径,本地开发时习惯的地址,换到服务器上,路径规则可能完全不同。

五、Nginx反向代理与域名解析

Nginx负责接收80和443端口的请求,再转发给本机的8080端口。配置的核心是proxy_pass指令,指向http://127.0.0.1:8080。到域名服务商那边,把A记录指向ECS的公网IP,访问域名时才能找到这台服务器。

这里要提前注意:如果域名要在国内服务器上提供网站服务,需要先完成ICP备案。备案周期通常要好几周,最好尽早规划。否则代码准备好了,网站却迟迟不能对外访问。

六、配置HTTPS与监控

阿里云提供SSL证书申请服务,小林申请的是免费证书。下载Nginx版本的证书文件后,配置到server块中,再把HTTP请求重定向到HTTPS。访问地址统一了,明文传输的风险也去掉了。

监控方面,小林开启了云监控,给CPU、内存和磁盘使用率设置了告警阈值。服务器悄悄宕机,通常是因为没人及时发现,告警能让问题尽早浮出来。

日志同样不能放着不管。Tomcat的catalina.out和应用自身的日志文件,都需要定期清理或轮转。日志一直增长,磁盘很快就会被占满,到那时服务多半已经出了问题。

七、上线后常见的问题

上线之后,小林总结了几条经验,基本覆盖了最常遇到的情况:

  • 数据库连接失败:优先检查RDS白名单,以及内外网地址是否写对。
  • 中文乱码:确认Tomcat的server.xml中URIEncoding为UTF-8,数据库字符集也保持一致。页面和数据库只要有一处不统一,乱码就会出现。
  • 内存不足:通过JVM参数控制堆大小,避免2核4G的机器被撑爆。
  • 版本更新:每次发布前备份旧WAR包和数据库,出问题时能快速回滚。

整体来看,javaweb项目部署到阿里云并不算特别复杂,难的是分清每个组件负责什么。ECS跑应用,RDS存数据,安全组控制入口,Nginx负责转发。把这四块理顺,再加上备份习惯,大部分问题都能很快定位。

赞 (0)
云服务器什么价格好?先看这几项再下单
上一篇 2026年10月30日 下午10:17
京东云服务器免费申请条件和步骤,哪些地方容易踩坑
下一篇 2026年10月30日 下午10:17

相关推荐

  • 阿里云市场上架后,怎么拿到第一笔订单

    很多团队第一次看阿里云市场,想的是“上架就有单”。实际跑下来,上架只是把货架摆出去,买家能不能找到、看懂、敢下单,才决定第一笔订单什么时候来。这篇按入驻前的判断、上架材料、一个示意案例和定价运营几块,说说怎么把第一单往前推。 先看团队适不适合现在入驻 云市场比较适合三类团队。一类是交付已经稳定的软件服务商,比如做ERP、CRM、财税或营销工具的。一类是手里有…

    2026年10月31日
  • 阿里云GPU服务器伙伴价怎么算?中小团队选型要看哪几项

    GPU算力对中小团队来说,往往是一笔不小的固定开支。训练模型、部署推理、做图像渲染都离不开显卡,但实际用到的时间常常比租用时长短得多。所以不少技术负责人会反复推敲预算表:阿里云GPU服务器伙伴价到底能省多少,换成按量付费又会差多少。这篇文章从算账的角度把这件事讲清楚。 伙伴价是什么意思 伙伴价一般是给生态合作伙伴、服务商或特定渠道客户的采购条件。它没有统一的…

    2026年10月31日
  • 阿里云服务器一年租金多少?2核4G按年付要花多少钱

    第一次买云服务器,大多数人最想知道的就是一年要花多少钱。这个问题很难给出固定数字,配置、地域、计费方式和活动价都会影响最终金额。下面先拆开看费用由哪些部分组成,再用三个假设的场景估算一年的大致支出,最后说说2核4G按年付时该怎么看。 一、一年租金由哪几部分组成 页面上标的“低至”价格通常只是起步价,实际账单一般还包含下面几项。 实例规格决定基础价格,CPU核…

    2026年10月30日
  • 阿里云企业版值得升级吗?中小团队什么时候需要?

    很多企业上云之后,第一次出故障才发现:云服务器能正常运行,不代表出问题时能马上找到人解决。阿里云企业版技术支持套餐针对的正是这个缺口。它不会改变云资源的性能和价格,主要改善的是问题响应速度、技术咨询深度和运维保障能力。 阿里云企业版是什么 阿里云的技术支持分为基础版、企业版、尊享版和钻石版等层级。企业版位于中间,适合已经有一定业务规模、核心业务跑在云上的企业…

    2026年10月31日
  • 阿里云企业网盘怎么选?先看文件权限和协作成本

    很多企业的文件散落在员工电脑、微信群和各种共享链接里。找一份合同翻半天,离职的同事带走了客户资料,出了泄露又说不清是谁的责任。企业网盘要解决的就是这类事。阿里云企业网盘把文件存储、权限和协作放在一个平台里,比较适合团队规模在几十人到几百人之间、想把文件管起来的中小企业和成长型团队。 个人网盘为什么不够用 个人网盘的共享方式大多是“拿到链接就能打开”,谁能看、…

    2026年10月31日
返回顶部