JavaWeb项目怎么部署到服务器?,部署JavaWeb项目需要哪些环境配置

把JavaWeb项目部署到服务器,说白了就三步:装好JDK和Tomcat(或直接打jar包)、把项目传上去、放行端口配好域名反向代理,流程不复杂,真正卡人的往往是权限、端口和内存这些细节,下面按真实操作顺序拆开讲,照着做基本能一次跑通。

先想清楚:你的项目到底以什么形态跑起来

这一步定错,后面全是返工。

JavaWeb部署到服务器
加载中
JavaWeb部署到服务器
小
小萌新余狗
2051--
原视频地址

打war包还是打jar包

Spring Boot项目默认打成可执行jar,内置Tomcat,服务器上只要一个Java环境就能跑,传统SSM项目一般打war包,需要外部Tomcat容器来解压部署。

  • jar包:mvn clean package,产物在target/目录,启动命令java -jar xxx.jar
  • war包:pom.xml里packaging写成war,产物丢进Tomcat的webapps/目录即可自动解压

一个容易踩的坑:Spring Boot打war包时要排除内置Tomcat(provided作用域),否则和外部Tomcat的类加载器打架,启动直接报冲突。

服务器环境三件套

不管哪种形态,服务器上这三样得有:JDK、数据库(MySQL居多)、Web容器或运行时。

组件 推荐版本 检查命令
JDK 17 LTS 或 8 java -version
MySQL 0 systemctl status mysqld
Tomcat 9 / 10 ps -ef \| grep tomcat
Nginx 稳定版 nginx -v

版本别乱配,Tomcat 10默认切到Jakarta EE命名空间,老项目用的还是javax.servlet,硬上Tomcat 10会报类找不到,行业共识认为,存量SSM项目留在Tomcat 8.5或9上最省心。

JavaWeb项目怎么部署到云服务器上

买好服务器之后,先把最基础的连通性打通,再谈部署。

Linux服务器部署JavaWeb项目详细步骤

以CentOS/Ubuntu云服务器为例,走一遍完整路径。

第一步,连上去并装环境。

ssh root@你的公网IP
# CentOS
yum install -y java-17-openjdk-devel
# Ubuntu
apt install -y openjdk-17-jdk
java -version

第二步,装Tomcat(war包项目才需要)。

wget https://dlcdn.apache.org/tomcat/tomcat-9/.../apache-tomcat-9.x.tar.gz
tar -zxvf apache-tomcat-9.x.tar.gz -C /opt/
/opt/apache-tomcat-9.x/bin/startup.sh

浏览器访问http://公网IP:8080,能看到那只猫就说明容器活了。

第三步,上传项目。

scp target/你的项目.war root@公网IP:/opt/apache-tomcat-9.x/webapps/

Tomcat检测到war包会自动解压部署,如果是jar包,用nohup java -jar app.jar > app.log 2>&1 &后台跑起来。

第四步,放行端口。 云厂商的安全组要开8080(临时调试)和80/443(正式访问),服务器本地防火墙也要开:

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

业内专家指出,新手部署失败里相当一部分不是代码问题,而是安全组没放行本地curl通、外网打不开,先查这一层。

用宝塔面板部署是不是更省事

两者对比一下:

  • 命令行部署:可控性强,出问题知道在哪一层,适合长期维护
  • 宝塔面板部署:图形化装JDK、Tomcat、MySQL,上传文件靠拖拽,适合不熟悉Linux的人

但面板会多占内存,2G小机器上跑面板+Tomcat+MySQL会比较吃力,要是服务器配置本来就低,老老实实敲命令反而更稳。

简米云、酷番云这类国内服务器部署JavaWeb项目要注意什么

  • 备案:用域名走80端口对外访问,域名得先完成ICP备案,否则会被拦截
  • 地域选择:用户主要在国内就选国内节点,延迟低;面向海外选香港或新加坡
  • 系统镜像:优先选纯净的CentOS或Ubuntu,别选带一堆预装软件的镜像

域名、Nginx反向代理和开机自启

项目在8080跑通了,接下来是正式化。

配Nginx反向代理

让用户访问80/443,Nginx转发到8080,顺便干掉端口号:

server {
    listen 80;
    server_name yourdomain.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

HTTPS用certbot --nginx -d yourdomain.com一条命令申请免费证书,比手动配置省事。

让服务开机自启

手动startup.sh启动的进程,服务器一重启就没了,生产环境建议写systemd服务:

[Unit]
Description=myapp
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /opt/app/app.jar
Restart=always
[Install]
WantedBy=multi-user.target

systemctl enable myapp之后,重启机器也不用手动拉起来。

部署服务器一年要花多少钱

这是绕不开的现实问题,按配置分档:

场景 配置 大致年费
个人练手、课程作业 轻量应用服务器 2核2G 百元级
小型生产环境 2核4G + 独立数据库 千元以内
中等流量业务 4核8G + 云数据库 + 负载均衡 数千元

新用户首年优惠力度大,第二年续费会明显上涨,续费前记得比价,域名几十元一年,SSL证书用免费的够用。

部署完就结束了吗?这些坑得提前避开

  • 内存不足:2G机器跑Tomcat+MySQL+面板,JVM默认堆可能吃掉大半内存,加-Xms512m -Xmx1024m限制一下
  • 时区不对:容器或JVM时区默认UTC,日志时间全差8小时,启动参数加-Duser.timezone=Asia/Shanghai
  • 中文乱码:数据库连接串记得带characterEncoding=utf8,MySQL建库时就指定utf8mb4
  • 日志无限膨胀:nohup的输出文件不切割,跑几个月能把磁盘塞满,配个logrotate或者直接用logback按天切
  • 数据库密码写死在配置里:换成环境变量注入,别把生产密码提交到Git

关于JavaWeb项目部署服务器的常见问题

部署后外网打不开,本地curl却正常,怎么回事?

按顺序查三层:云厂商安全组是否放行端口、服务器本地防火墙(firewalld/ufw)是否放行、Nginx是否真的监听在80,三层都通还不行的,看Tomcat的catalina.out有没有启动报错。

已有宝塔面板的服务器,还能手动装Tomcat吗?

可以,但别和面板装的版本抢端口,手动装的话换个端口,比如8081,Nginx里转发指向新端口就行,两套环境并存容易出现JAVA_HOME指向不一致的问题,装完用which java和echo $JAVA_HOME确认一遍。

小项目有必要用Docker部署吗?

看项目数量,单个项目、依赖简单,直接装环境更快;多个项目、环境需求互相冲突,Docker能省掉大量版本打架的麻烦,近年来容器化部署在中小团队里的接受度明显提高,但学习成本也是实打实的,先把命令行部署跑通再考虑容器并不吃亏。

把环境装对、端口放行、反向代理配好、服务设成开机自启,一套JavaWeb项目的生产部署就算闭环了,剩下的优化,都是在这个稳定底座上做加法。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/782398.html

赞 (0)
上一篇 2026年11月4日 22:13
下一篇 2026年11月4日 22:17

相关推荐

  • 服务器pxe下怎么格式化4t盘

    在PXE引导环境下格式化4TB硬盘,核心思路是绕过安装程序直接操作底层磁盘:通过PXE启动到内存操作系统(如SystemRescue或自定义initramfs),使用parted或sgdisk创建GPT分区表,再mkfs格式化,最后回到安装流程,这条路绕开了安装器对磁盘锁定的限制,也规避了MBR分区表不认识4T……

    2026年8月26日
    600
  • Excel2007绘图工具怎么用?excel2007绘图工具在哪里

    Excel 2007 绘图工具的核心价值在于通过形状组合与线条连接,快速构建无需安装额外插件的专业流程图、组织结构图及简易图表,其操作逻辑比现代版本更直观,适合对软件版本有特定限制或偏好经典界面的用户,在数字化转型的浪潮中,许多企业依然保留着基于 Office 2007 的工作流,这并非因为技术落后,而是因为稳……

    2026年7月4日
    9700
  • 服务器租用和虚拟主机租用有什么区别?服务器租用和虚拟主机租用哪个更划算

    选择服务器/虚拟主机租用服务,核心在于匹配业务阶段、技术能力与预算目标——初创企业宜选虚拟主机,中大型应用应选独立服务器,而混合架构则兼顾弹性与性能,虚拟主机租用:轻量级网站的高效起点适用对象:个人博客、小型企业官网、初创项目(日访问量<5000)核心优势:成本低:月租30–150元,含域名、SSL、基础备份零……

    程序编程 2026年4月17日
    6500
  • 华为h3服务器硬盘故障灯怎么看

    华为H3服务器硬盘故障灯怎么看:一张图搞懂所有指示灯状态华为H3服务器硬盘故障灯怎么看,核心答案是看硬盘面板上那个琥珀色/红色小灯:正常工作时亮绿色,出现故障时变为琥珀色或红灯闪烁,持续长亮则代表硬盘已掉线,不少运维同行在巡检时一看到灯变色就紧张,其实灯的状态分好几种,每一种对应的故障级别和操作方式都不一样,下……

    2026年8月30日
    600
  • 江苏企业为什么要把服务器租在省内节点?

    江苏企业把服务器租在省内节点,核心答案就一句话:为了离用户更近,让网站和业务跑得更快、更稳,同时满足本地合规要求,省下的隐形成本和省下的心,远比那点差价值钱,这个决策背后,不是贪图”省内”两个字的面子,而是一笔实实在在的账,下面从网络延迟、备案合规、故障响应、带宽成本四个维度拆开讲,你就明白省内节点为什么是江苏……

    2026年8月10日
    900
  • AIoT赋能是什么意思?AIoT赋能有哪些应用场景

    AIoT(人工智能物联网)正在重塑产业格局,其核心价值在于通过智能化连接与数据处理,实现物理世界与数字世界的深度融合,AIoT赋能的本质,是让设备具备思考能力,让数据产生商业价值,最终实现降本增效与业务模式创新,这不仅是技术的迭代,更是生产力的根本性跨越,企业若想在数字化浪潮中占据主动,必须深入理解并应用AIo……

    2026年3月13日
    11700
  • Mac如何远程连接简米云服务器?,Win10远程连接步骤

    Mac用户想要像在Windows 10上那样远程连接阿里云服务器,最直接的办法是使用微软官方出品的Microsoft Remote Desktop(远程桌面)客户端,在Mac上安装后填入服务器的公网IP和账号密码即可一键连接,整个操作流程比传统SSH更符合Windows使用习惯,很多Mac新手第一次接触阿里云……

    2026年10月16日
    100
  • 苹果6s如何开启app定位服务器?,定位权限在哪里设置

    苹果6s开启App定位服务器,其实就是打开“设置>隐私>定位服务”的总开关,再单独允许每个App使用位置信息, 很多朋友把“定位服务”叫成“定位服务器”,系统里并没有这个选项,你真正要找的是那个小地图图标下面的“定位服务”设置,不管你想让微信发实时位置,还是让地图App导航,都得先过这一关,下面我用……

    程序编程 2026年10月23日
    100
  • Digital-VMVPS测评,美国日本4美元月付性能如何,美国VPS推荐

    在2026年的VPS市场中,4美元价位段已不再是性能洼地,Digital-VMVPS凭借美国与日本节点的差异化优化,在低延迟场景下展现出超越同价位的稳定性,适合对成本敏感且需特定地域访问的用户,价格与地域选择的核心逻辑美元与日元节点的定位差异在2026年,VPS服务商普遍采用分层定价策略,4美元/月(约合580……

    2026年5月14日
    5000
  • 华瑞云香港服务器测评,19元/月实测数据与性能表现,华瑞云香港服务器怎么样,香港服务器租用价格

    华瑞云香港服务器19元/月套餐实测表现优异,具备低延迟、高稳定性及高性价比,适合中小型企业建站、跨境电商及个人开发者使用,是2026年入门级海外服务器的优质选择, 华瑞云香港服务器基础配置与价格分析在2026年的云计算市场中,19元/月香港服务器已成为极具竞争力的入门级产品,华瑞云凭借对CN2 GIA骨干网的深……

    2026年5月13日
    6200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注