You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在线调用REST API接口?Java Web后端项目如何部署上线?

部署Java Web项目上线的完整指南

Hey,我来帮你梳理清楚Java Web项目上线的完整流程——你遇到的问题其实很多刚接触部署的开发者都会碰到,别担心,一步步来就好。

一、核心问题:必须部署到真实服务器吗?

没错,你的本地Tomcat只是供开发测试用的,只能在你的本机或者局域网内访问。要让公网用户(比如其他设备、客户)能访问你的REST API和JSF页面,必须把项目部署到具备公网IP的服务器上,或者用云平台的托管服务。

二、服务器/部署方案怎么选?

根据你的项目规模、预算和技术能力,有几种常见选项:

1. 传统云服务器(IaaS)

适合需要完全控制权的场景,比如你想自定义环境、安装额外工具:

  • 阿里云ECS、腾讯云CVM、AWS EC2:都是主流的云服务器,你可以自己安装JDK、Tomcat,配置防火墙、域名等,完全自主管理。
  • 预算有限的话可以选轻量应用服务器,比如阿里云轻量、腾讯云轻量,自带基础环境,部署步骤更简单,性价比高。

2. PaaS平台(平台即服务)

如果不想折腾服务器环境配置,PaaS是懒人福音——平台会帮你搞定JDK、Tomcat这些底层环境,你只需要专注于项目本身:

  • 阿里云云效、腾讯云Serverless应用引擎(SAE)、Heroku(国外):直接上传WAR包或者关联你的Git代码仓库,平台自动构建、部署、扩容,不用管底层服务器。
  • 还有专门的Tomcat托管服务,一些云厂商会提供,针对Java Web项目做了优化,部署更省心。

3. Java虚拟主机(适合小型项目)

如果你的项目流量很小、预算极低,可以选支持Java的虚拟主机,国内很多主机服务商都有提供。操作最简单,直接上传WAR包就能用,但灵活性差,没法自定义环境,适合个人小项目。

三、详细部署步骤(以云服务器+手动安装Tomcat为例)

这是最通用的方案,学会了这个,其他部署方式都能触类旁通:

1. 准备云服务器

  • 买一台云服务器,起步配置选1核2G内存足够(小型项目完全够用),操作系统优先选CentOS、Ubuntu这类Linux发行版——比Windows更稳定、运维成本更低。
  • 用SSH工具(比如Xshell、Putty)连接服务器,拿到root权限,接下来的操作都在命令行里完成。

2. 安装JDK和Tomcat

你的项目是Java写的,这俩是必备环境:

  • 安装JDK(推荐用OpenJDK 11,兼容性好):
    # CentOS系统安装命令
    yum install java-11-openjdk-devel -y
    # 验证是否安装成功
    java -version
    
  • 安装Tomcat(尽量和你本地用的版本一致,避免兼容性问题,这里以Tomcat 9为例):
    # 下载Tomcat安装包
    wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
    # 解压到/usr/local目录
    tar -zxvf apache-tomcat-9.0.80.tar.gz -C /usr/local/
    # 重命名,方便后续操作
    mv /usr/local/apache-tomcat-9.0.80 /usr/local/tomcat
    

3. 配置Tomcat(可选但推荐)

  • 设置Tomcat开机自启:避免服务器重启后Tomcat自己停了,创建一个systemd服务文件:
    vi /etc/systemd/system/tomcat.service
    
    把下面的内容粘贴进去(注意JAVA_HOME路径要和你实际安装的JDK路径一致,用echo $JAVA_HOME可以查看):
    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=forking
    Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64
    Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid
    Environment=CATALINA_HOME=/usr/local/tomcat
    Environment=CATALINA_BASE=/usr/local/tomcat
    Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
    Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
    
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecStop=/usr/local/tomcat/bin/shutdown.sh
    
    User=root
    Group=root
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
    然后执行命令启用自启:
    systemctl daemon-reload
    systemctl start tomcat
    systemctl enable tomcat
    
  • 开放端口:Tomcat默认用8080端口,需要在服务器防火墙和云服务商的安全组里都开放:
    # CentOS开放8080端口
    firewall-cmd --add-port=8080/tcp --permanent
    firewall-cmd --reload
    
    同时去云服务器控制台的安全组规则里,添加一条入站规则,允许8080端口的TCP访问。

4. 上传并部署项目

  • 本地打包:在你的IDE(IDEA/Eclipse)里,用Maven或Gradle执行package命令,生成的WAR包会在项目的target目录下。
  • 上传WAR包:用SFTP工具(比如FileZilla)把WAR包上传到服务器的/usr/local/tomcat/webapps/目录下。
  • 启动项目:Tomcat会自动解压WAR包,等个10秒左右,你就可以通过http://服务器公网IP:8080/项目名称访问你的API和JSF页面了。

5. 优化小技巧(可选)

  • 把Tomcat端口改成80(默认HTTP端口),这样访问时不用加:8080:修改/usr/local/tomcat/conf/server.xml里的Connector标签的port属性为80,然后重启Tomcat。
  • 绑定域名:买个域名,在云服务商控制台做域名解析,指向服务器公网IP,然后在Tomcat里配置虚拟主机,把域名和项目绑定,这样用户就能用域名访问了。

四、PaaS平台快速部署(以阿里云SAE为例)

如果不想折腾命令行,选PaaS平台几分钟就能搞定:

  • 登录阿里云SAE控制台,创建一个新应用,选择Java环境,配置好JDK版本和Tomcat版本(和你项目匹配)。
  • 上传你的WAR包,或者直接关联你的Git代码仓库,SAE会自动构建并部署项目。
  • 配置好域名和访问规则,一键发布,你的项目就上线了。

内容的提问来源于stack exchange,提问作者Daniyar Serikov

火山引擎 最新活动