Node.js+Express本地部署:如何省略端口/自定义本地域名?
解决你的Express热点共享网站需求:无端口访问+自定义本地域名
一、省略端口号,直接通过IP访问
浏览器访问HTTP协议时默认会使用80端口,所以只要把你的Express服务改成监听80端口即可:
- 修改你的Express启动代码:
const express = require('express'); const app = express(); // 你的业务路由、中间件配置... // 将监听端口从3000改为80,绑定0.0.0.0确保热点设备能访问 app.listen(80, '0.0.0.0', () => { console.log('服务已启动,访问地址:http://192.168.25.113'); });
- 权限注意事项:
- Linux/macOS下,1024以下的端口需要管理员权限,启动时加
sudo:sudo node app.js - Windows要以管理员身份打开命令提示符或PowerShell,再运行项目
- Linux/macOS下,1024以下的端口需要管理员权限,启动时加
二、无需域名,自定义本地访问名称
通过修改系统的hosts文件,把IP映射成你想要的域名marketplace.shop,同一热点下的所有访问设备都需要修改自己的hosts文件:
本地服务器设备修改步骤:
- Windows:找到路径
C:\Windows\System32\drivers\etc\hosts,右键用记事本(或编辑器)以管理员身份打开,添加一行:
192.168.25.113 marketplace.shop
- Linux/macOS:打开终端,执行
sudo nano /etc/hosts,添加上面的内容,按Ctrl+O保存,Ctrl+X退出
热点下其他访问设备修改步骤:
按照对应系统的操作方法,在它们的hosts文件中添加同样的映射规则,之后就能直接用http://marketplace.shop访问网站了
额外提醒
- 移动热点分配的IP可能是动态的,如果IP变动了,要同步更新所有设备hosts文件里的IP
- 如果80端口被其他程序占用,Windows用
netstat -ano | findstr ":80"查看占用进程,Linux/macOS用lsof -i :80,关闭对应进程后再启动你的服务
内容的提问来源于stack exchange,提问作者Zurcemozz
相关产品推荐
相关产品推荐

