localhost 端口速查:80、8080、3000、5173、4321、4173 是什么
看到 http://localhost:80、localhost:4173、localhost:4321、localhost:8080 时该怎么办?本文按端口说明常见用途、默认服务与访问方式,覆盖 Vite、Astro、Next.js、MongoDB、Redis 等。
在浏览器或终端里看到 http://localhost:端口、localhost80、localhost:4173 时,通常不是网站域名,而是本机某个开发服务在监听。本文回答「这个端口是谁开的」,并给出常见默认用途。
粘贴整段地址可先用 localhost URL 解析器。完整冲突排查见 localhost 端口冲突排查。
一分钟速查(高曝光端口)
| 你看到的地址 | 常见含义 | 跳转 |
|---|---|---|
http://localhost / http://localhost:80 / localhost80 | 默认 HTTP(Apache、Nginx、IIS、Caddy) | #port-80 |
| http://localhost:4173 | Vite preview(vite preview) | #port-4173 |
| http://localhost:4321 | Astro 开发服务器 | #port-4321 |
| http://localhost:5173 | Vite 开发服务器(最常见) | #port-5173 |
| http://localhost:3000 | Next.js、NestJS、Express、CRA、Rails 等 | #port-3000 |
| http://localhost:8080 | Tomcat、Spring Boot、备用 Apache | #port-8080 |
http://localhost:8081 / exp://localhost:8081 | Expo Metro Bundler | #port-8081 |
| http://localhost:8000 | Django、php -S、FastAPI/Uvicorn | #port-8000 |
mongodb://localhost:27017 | MongoDB | #port-27017 |
redis://localhost:6379 | Redis | #port-6379 |
localhost:80 / localhost80
含义:HTTP 默认端口。地址写成 http://localhost 时,浏览器其实访问的是 80;有人也写成 localhost:80、localhost 80、localhost80。
常见服务:Apache(XAMPP/WAMP/LAMP)、Nginx、IIS、Caddy、部分 PHP 集成环境。
怎么确认:
# macOS / Linux
lsof -i :80若页面打不开,多半是服务未启动或端口被占用,见 端口冲突排查。Web 服务器本地配置见 Apache、Nginx、XAMPP。
localhost:4173 — Vite preview
含义:运行 vite preview(或等价预览命令)时,Vite 默认用 4173 提供生产构建预览。
和 5173 的区别:
| 端口 | 命令 | 用途 |
|---|---|---|
| 5173 | vite / npm run dev | 开发(HMR) |
| 4173 | vite preview | 预览已构建产物 |
若你刚执行完 npm run build 再 vite preview,浏览器打开 http://localhost:4173 是正常现象。详见 Vite 本地开发。
localhost:4321 — Astro 开发服务器
含义:Astro 默认开发端口是 4321(astro dev)。
访问 http://localhost:4321 通常表示本机正在跑 Astro 项目。本站开发时也常用该端口。详见 Astro。
localhost:5173 — Vite 开发服务器
含义:现代前端最常见的开发端口。Vite、部分 Remix / 基于 Vite 的工具默认 5173。
访问 http://localhost:5173 ≈ 前端项目 npm run dev 已启动。详见 Vite、React + Vite。
localhost:3000
含义:Node 全栈与很多框架的「默认 Web 端口」:Next.js、NestJS、Express、Create React App、Ruby on Rails、Bun 等。
多个项目同时开时最容易抢 3000,可改环境变量 PORT 或框架配置。详见 Next.js、NestJS、端口冲突。
localhost:8080
含义:常用「备用 HTTP」端口。典型占用者:Apache Tomcat、Spring Boot(可配置)、本机第二套 Web 服务、部分教程里的备用 Apache。
访问 http://localhost:8080 时,先确认是 Java 应用还是改过端口的 Apache/Nginx。详见 Tomcat、Spring Boot。
注意:搜索里偶尔出现 http://localhost::8080(双冒号)属于笔误,正确写法是 一个冒号:http://localhost:8080。
localhost:8081 与 exp://localhost:8081
含义:
- 浏览器 http://localhost:8081:常为 Expo Metro Bundler 或其它备用 Web 服务
exp://localhost:8081:Expo / React Native 开发客户端协议,不是普通网页 URL
详见 Expo 本地调试。
localhost:8000
含义:Python / PHP 内置服务器常见端口:Django、php -S localhost:8000、FastAPI(Uvicorn)、部分 Deno 应用。
命令示例:
php -S localhost:8000 -t public数据库与缓存端口
mongodb://localhost:27017
MongoDB 默认端口 27017。连接串形如:
mongodb://localhost:27017
mongodb://127.0.0.1:27017/mydb这不是浏览器页面地址,而是客户端(mongosh、Compass、应用驱动)用的 URI。详见 MongoDB 本地。
redis://localhost:6379
Redis 默认 6379:
redis://localhost:6379详见 Redis 本地。
其它数据库端口
| 端口 | 服务 | 说明 |
|---|---|---|
| 3306 | MySQL / MariaDB | 见 MySQL、MariaDB |
| 5432 | PostgreSQL | 见 PostgreSQL |
Web 与前端端口总表
| 端口 | 典型用途 | 访问示例 |
|---|---|---|
| 80 | Apache、Nginx、IIS 默认 HTTP | http://localhost |
| 443 | HTTPS | https://localhost |
| 3000 | Next.js、Express、NestJS、CRA | http://localhost:3000 |
| 4173 | Vite 预览(vite preview) | http://localhost:4173 |
| 4200 | Angular CLI(ng serve) | http://localhost:4200 |
| 4321 | Astro 开发服务器 | http://localhost:4321 |
| 5000 | Flask 默认 | http://localhost:5000 |
| 5173 | Vite 开发服务器 | http://localhost:5173 |
| 8000 | Django、php -S、Uvicorn | http://localhost:8000 |
| 8080 | Tomcat、Spring Boot、备用 Web | http://localhost:8080 |
| 8081 | Expo Metro、备用 Web | http://localhost:8081 |
| 8888 | MAMP 默认、Jupyter 等 | http://localhost:8888 |
其它常见端口
| 端口 | 用途 |
|---|---|
| 1337 | Strapi 默认 |
| 19000 | Expo Dev Tools |
| 54321 | Supabase 本地 CLI(API 网关等) |
| 9000 | PHP-FPM(FastCGI,一般不直接用浏览器打开) |
如何确认「谁占用了这个端口」
- macOS / Linux:
lsof -i :5173或ss -tlnp | grep 5173 - Windows:
netstat -ano | findstr :5173
释放占用、改端口、Docker 冲突等步骤见 port-conflicts。
常见问题
Q:localhost:80 和 localhost 有什么区别?
没有实质区别。省略端口时 HTTP 默认就是 80。
Q:为什么搜 localhost:4173?
多半本机刚跑过 Vite 预览。关掉对应终端进程后地址会失效。
Q:为什么打开端口什么也没有?
对应服务没启动,或监听的是别的端口 / 只绑了 127.0.0.1 以外的接口。先 lsof/netstat 确认。
小结
记住高频端口即可:80(默认站点)、5173(Vite 开发)、4173(Vite 预览)、4321(Astro)、3000(Node 全栈)、8080(Java/备用 Web)、8000(Django/PHP)、27017(MongoDB)、6379(Redis)。