Ubuntu Node.js网络配置怎么做
说到在Ubuntu上配置Node.js的网络,很多新手容易卡在第一步。其实这事儿拆开来看并不复杂,主要分两层:先把系统层面的网络搞通,再让Node.js应用正确地监听端口。我们今天就把这两层掰开揉碎了讲清楚。 一、Ubuntu系统网络基础配置 在正式开始配置Node.js的网络之前,有一件基础工作得
说到在Ubuntu上配置Node.js的网络,很多新手容易卡在第一步。其实这事儿拆开来看并不复杂,主要分两层:先把系统层面的网络搞通,再让Node.js应用正确地监听端口。我们今天就把这两层掰开揉碎了讲清楚。

一、Ubuntu系统网络基础配置
在正式开始配置Node.js的网络之前,有一件基础工作得先搞定——确保Ubuntu系统的网络接口本身是通的。这一步看似简单,但踩坑的人可不少。尤其是生产环境,静态IP几乎是标配,家用环境用动态IP倒也无妨。
1. 配置静态IP地址(推荐生产环境使用)
Ubuntu 20.04及之后版本,网络配置通过netplan来管理。你需要编辑对应的YAML文件,通常位于/etc/netplan/01-netcfg.yaml,然后按以下格式配置静态IP:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: ["192.168.1.100/24"]
gateway4: 192.168.1.1
nameservers:
addresses: ["8.8.8.8", "8.8.4.4"]
注意这里的eth0是网络接口名称,实际名称可能因机器而异,可以通过ip addr命令查看。保存文件后,执行sudo netplan apply让配置生效。最后用ip addr show eth0验证一下IP是否已经正确分配。
2. 配置动态IP(DHCP,适合家用环境)
如果不需要固定IP,保持dhcp4: yes(默认值)即可,系统会自动从路由器获取IP地址。基本不需要额外操作,重启网络服务或者重启电脑就生效了。
3. 验证网络连通性
- 测试网络连接:
ping www.baidu.com,如果能收到回复,说明网络基本正常。 - 检查DNS解析:
cat /etc/resolv.conf,确认DNS服务器地址配置正确。
二、Node.js应用网络配置
系统网络没问题之后,就该让Node.js应用上场了。关键就一个点:让应用监听到正确的IP和端口,这样才能接收外部请求。
1. 基础监听配置
使用Node.js内置的http模块创建服务器时,通过listen()方法指定IP和端口:
const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(3000, '192.168.1.100', () => {
console.log('Server running at http://192.168.1.100:3000/');
});
192.168.1.100:这里需要替换成你Ubuntu系统的静态IP,或者直接写0.0.0.0监听所有网络接口。3000:端口号,确保未被其他应用占用。可以用netstat -tulnp | grep 3000检查一下。
2. 使用环境变量配置(灵活推荐)
通过环境变量管理网络参数,便于在不同环境(开发/生产)中切换配置:
const http = require('http');
const port = process.env.PORT || 3000;
const host = process.env.HOST || '127.0.0.1';
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, host, () => {
console.log(`Server running at http://${host}:${port}/`);
});
启动应用时,通过命令行设置环境变量:
PORT=3000 HOST=192.168.1.100 node app.js
或者在package.json的scripts中添加:
"scripts": {
"start": "PORT=3000 HOST=192.168.1.100 node app.js"
}
运行npm start即可启动应用。
三、可选:配置反向代理(生产环境必备)
直接暴露Node.js应用到公网,安全风险不小。建议使用Nginx作为反向代理,隐藏Node.js端口,同时还能提供HTTPS支持、负载均衡等功能。这一步对于生产环境几乎是标配。
1. 安装Nginx
sudo apt update
sudo apt install nginx
2. 配置Nginx反向代理
编辑Nginx配置文件(如/etc/nginx/sites-available/default),添加以下内容:
upstream node_app {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://node_app;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
保存后,测试Nginx配置语法:sudo nginx -t,确认没有错误。然后重启Nginx:sudo systemctl restart nginx。
四、常见问题排查
- 无法访问应用:检查Ubuntu防火墙是否放行了端口(
sudo ufw allow 3000),或者Nginx配置是否正确。 - Node.js应用无法启动:确认端口是否被占用(
kill -9 $(lsof -t -i:3000)),或者IP地址是否写错了。 - 网络不通:检查Ubuntu系统网络配置(
ip addr),或者路由器是否允许该IP访问外网。
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Ableton Live 是面向音乐制作人与现场表演者的数字音频工作站,提供编曲视图、独具特色的现场视图、音频录制、MIDI创作、实时变速、乐器及效果器。Mac版原生支持Apple芯片,并可连接音频接口、MIDI控制器和第三方插件。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














