GeoServer 默认端口号及修改方法
GeoServer 默认 HTTP 端口号是 8080。安装完成后,一般通过浏览器访问 http://localhost:8080/geoserver(或把 localhost 换成实际主机名/IP)进入 Web 管理界面。若 8080 被占用、需要多实例并存,或生产环境要统一入口,可按安装方式修改配置后重启,再用新端口访问。HTTPS 常见配套端口为 8443,具体以当前部署配置为准。

默认端口适用哪些安装方式
无论是平台独立二进制包(内嵌 Jetty)、Windows 安装程序,还是常见 WAR 部署到 Tomcat 等容器,HTTP 默认监听端口通常都是 8080。启动成功后,欢迎页默认管理员账号为 admin,密码为 geoserver,生产环境务必立刻修改。截至 2026 年 11 月,Stable 推荐版本为 GeoServer 3.0.2(2026 年 10 月 19 日发布),需要 Java 17 或 Java 21;Maintenance 线为 2.28.6。下载与安装说明可在 GeoServer 官方下载页 查看,Web 管理界面入门步骤见 GeoServer Web 管理界面快速入门。
- 平台独立二进制:解压后运行 startup 脚本,Jetty 默认 8080。
- Windows 安装程序:安装向导里可直接指定端口;也可装成服务后调整。
- WAR + 容器:端口由 Tomcat/Jetty 等容器决定,容器默认也常为 8080。
- Docker:容器内多为 8080,通过宿主机映射改对外端口。
端口建议选用大于 1024 的空闲端口。80/443 等低端口通常需要管理员权限,且不推荐让嵌入式 Jetty 直接监听,更稳妥的做法是前面加 Nginx/Apache 反向代理。

不同安装方式如何修改 geoserver端口
修改核心思路是:改监听配置 → 完全重启 → 用新 URL 验收。下面按常见部署分别给出可执行步骤。
| 安装方式 | 主要修改位置 | 关键配置项 |
|---|---|---|
| 平台独立二进制(Jetty) | 安装目录 start.ini,或环境变量 / 启动参数 | jetty.http.port=新端口 |
| Windows 安装程序 / 服务 | 安装向导;或服务 ImagePath、startup 相关配置 | -Djetty.port 或等价端口参数 |
| WAR + Tomcat | Tomcat conf/server.xml | Connector 的 port 属性 |
| Docker | docker run / compose 端口映射 | -p 主机端口:8080 |
平台独立二进制包(最常见)
- 停止 GeoServer(运行 shutdown 脚本,或结束对应 Java 进程)。
- 打开安装目录下的 start.ini,找到类似 jetty.http.port=8080 的行,改成目标端口(例如 8081)。
- 也可不改文件,改用环境变量:设置 JETTY_OPTS=’jetty.http.port=8081′(Linux/macOS 可写进用户 profile;Windows 在系统环境变量或启动脚本里设置),或启动时加 -Djetty.http.port=8081。
- 确认端口未被占用后执行 startup 脚本重新启动。
- 浏览器访问 http://主机:新端口/geoserver,能打开登录页即表示成功。
若配置了 HTTPS,对应端口一般在 Jetty 相关 ssl 配置中单独指定(示例常见为 8443),HTTP 与 HTTPS 端口要一起核对。
Windows 安装程序或已安装为服务
- 安装阶段:在向导里直接填写非 8080 的端口,最省事。
- 已装成服务时:检查服务启动参数(旧环境常见于注册表服务项 ImagePath 中的 -Djetty.port=8080),改成新端口后重启服务。
- 同时核对安装目录里的 start.ini / wrapper 相关配置,避免服务参数覆盖文件设置。
- 改完后务必完整重启服务,再用新端口访问管理界面。
WAR 部署到 Tomcat
- 停止 Tomcat。
- 编辑 conf/server.xml,找到 HTTP Connector,把 port=”8080″ 改为新端口。
- 如有需要,同步调整 redirectPort、防火墙与安全组。
- 启动 Tomcat,访问 http://主机:新端口/geoserver。
GeoServer 自身不硬编码容器端口;端口完全由 Servlet 容器控制。GeoServer 3.x 一般配合 Jakarta EE 容器(如 Tomcat 11),2.x 系列则常见于 Tomcat 9 一类环境,部署前先确认容器与 Java 版本匹配。
Docker 简要做法
容器内服务仍监听 8080 时,用映射即可对外改端口,例如把宿主机 8081 映射到容器 8080。改映射后重建/重启容器,用宿主机新端口访问即可。
修改端口时要注意什么
- 先查占用再改:用 netstat、ss、lsof 或资源监视器确认目标端口空闲,避免 BindException。
- 改完必须彻底重启:仅刷新页面无效;命令行窗口未关干净、服务未真正停止,都会继续占旧端口。
- 远程访问与监听地址:若只能本机打开、外网打不开,检查是否只绑了 localhost;必要时在 Jetty 配置中把 host 设为 0.0.0.0,并同步开放防火墙/安全组。
- Capabilities 里的地址:GetCapabilities 仍显示旧主机或旧端口时,到 GeoServer 全局设置里配置 Proxy Base URL,让对外声明的地址与实际入口一致。
- 权限与生产入口:尽量避免让 GeoServer 直接听 80/443;用反向代理转发到高端口更清晰,也便于证书与访问控制。
- Java 与数据目录:3.0.x / 2.28.x 需要 Java 17 或 21;生产建议把数据目录外置,升级或重装时不要误删。
常见问题
启动报 java.net.BindException: Address already in use 怎么办?
这是最常见的 geoserver端口 冲突。用系统工具查出占用 8080(或你设的新端口)的进程——可能是另一个 Tomcat、残留 GeoServer、数据库自带的 HTTP 服务等——先停掉占用进程,或直接把 GeoServer 改到空闲端口后重启。Windows 安装时也可在向导里换端口避开冲突。
已经改了 start.ini,为什么还在听旧端口?
多半是启动脚本、服务参数或环境变量 JETTY_OPTS 覆盖了文件配置。检查 startup.bat/sh、Windows 服务 ImagePath、wrapper 配置是否仍写着旧端口;改完后执行 shutdown 再 startup,不要只关浏览器窗口。确认监听端口可用系统命令复查。
管理界面能开,但 GetCapabilities 里端口不对?
服务实际监听没问题,只是文档里对外公布的 Base URL 仍是旧值。到 GeoServer 的 Global Settings 设置 Proxy Base URL(写成真实对外的协议、主机和新端口),保存后再请求 Capabilities 核对。
可以把端口改成 80 吗?
技术上可以,但嵌入式 Jetty 直接绑 80 通常需要管理员/root 权限,也不利于证书与多服务共存。更稳妥的做法是让 GeoServer 继续用高端口,前面用 Nginx 或 Apache 把 80/443 反代过去。
总结:GeoServer 默认端口是 8080,访问路径为 /geoserver;改端口时按二进制(start.ini / JETTY_OPTS)、Windows 服务参数或 Tomcat server.xml 对号入座,改完彻底重启并用新 URL 验收。建议先用系统命令确认端口空闲,生产环境再配合反向代理与 Proxy Base URL,避免 Capabilities 地址和真实入口不一致。