You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将本地GeoServer安装包导出为WAR文件部署至AWS EC2的Tomcat?

我刚好折腾过类似的部署流程,给你一步步梳理清楚,确保你的GeoServer带着所有栅格、Shapefile图层顺利迁移到AWS EC2的Tomcat上:

第一步:从本地Mac导出GeoServer WAR包

首先得把你本地运行的GeoServer打包成标准的WAR文件,操作如下:

  • 先停止本地GeoServer服务(避免打包时文件被占用,比如在Mac的「系统偏好设置」里找到GeoServer点击停止)
  • 打开终端,导航到GeoServer的webapps目录(默认安装路径是/Applications/GeoServer/webapps):
    cd /Applications/GeoServer/webapps
    
  • 用jar命令把geoserver目录打包成WAR包(Mac自带的JDK通常包含jar工具,若未安装先补装JDK):
    jar -cvf geoserver.war geoserver/
    
    执行完后,你会在当前目录看到生成的geoserver.war文件。
第二步:上传WAR包和数据目录到EC2

GeoServer的数据目录(包含你的栅格、Shapefile、图层配置等)是独立于WAR包的,必须一起上传:

  1. 上传WAR包:在本地Mac终端用scp命令传到EC2的Tomcat webapps目录(假设你的EC2是Amazon Linux,Tomcat安装在/opt/tomcat,密钥文件是your-key.pem,EC2公网IP是x.x.x.x):
    scp -i "your-key.pem" /Applications/GeoServer/webapps/geoserver.war ec2-user@x.x.x.x:/opt/tomcat/webapps/
    
  2. 上传数据目录:同样用scp把本地的数据目录(默认是/Applications/GeoServer/data_dir)传到EC2的指定目录,比如/opt/geoserver_data:
    scp -i "your-key.pem" -r /Applications/GeoServer/data_dir ec2-user@x.x.x.x:/opt/
    
    上传完成后,在EC2上重命名目录(可选,方便识别):
    sudo mv /opt/data_dir /opt/geoserver_data
    
第三步:配置Tomcat权限与GeoServer环境

这一步是避免启动失败的核心操作:

  • 设置数据目录环境变量:编辑Tomcat的setenv.sh文件(如果没有就创建):
    sudo nano /opt/tomcat/bin/setenv.sh
    
    添加以下内容(指定GeoServer数据目录路径,同时配置JVM内存,避免内存不足):
    export GEOSERVER_DATA_DIR=/opt/geoserver_data
    export CATALINA_OPTS="-Xms512m -Xmx2048m -XX:MaxPermSize=256m"
    
    按Ctrl+O保存,Ctrl+X退出。
  • 修复权限:确保Tomcat运行用户(通常是tomcat)对数据目录和webapps目录有读写权限:
    sudo chown -R tomcat:tomcat /opt/geoserver_data
    sudo chown -R tomcat:tomcat /opt/tomcat/webapps
    
第四步:启动Tomcat并验证部署
  • 先停止Tomcat(如果之前在运行):
    sudo systemctl stop tomcat
    
  • 启动Tomcat:
    sudo systemctl start tomcat
    
  • 查看启动日志,确认没有报错:
    tail -f /opt/tomcat/logs/catalina.out
    
    看到类似INFO: Server startup in XXXX ms的日志,就说明启动成功了。
  • 最后在浏览器访问http://x.x.x.x:8080/geoserver,用你本地的GeoServer管理员账号密码登录,检查所有图层是否正常加载。
额外注意事项
  • EC2安全组:一定要在AWS控制台的EC2安全组里开放8080端口(或者你Tomcat配置的自定义端口),允许你的IP或者公网访问,不然浏览器无法连接。
  • 避免直接覆盖旧目录:如果EC2上已经有旧的geoserver目录,先删除它再上传新WAR,Tomcat会自动解压WAR到新的geoserver目录。
  • WAR包替代方案:如果不想用命令行打包,也可以把geoserver目录压缩成ZIP,然后把后缀改成.war,效果一致,但jar命令更规范。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:08:40