Node.js 是基于 Chrome V8 引擎的 Ja vaScript 运行时,让服务端也能跑 Ja vaScript 代码。在 Linux 上,用它搭建网络应用——Web 服务器、API 服务器、实时通信服务器——都非常顺手。下面几个方向,基本覆盖了日常开发的核心场景。

先从最基础的开始。Node.js 内置了 http 模块,几行代码就能跑起一个 Web 服务器,不需要任何第三方依赖。
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
});
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
当然,真实项目里很少直接用原生模块写路由——那样太折腾了。这时候就该 Express.js 出场了。它帮我们把路由、中间件、请求处理都封装得干净利落。
先安装依赖:
npm install express
然后写一个简单的服务器:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});
接下来聊一聊实时通信。如果应用需要双向、低延迟的数据交换(比如聊天、推送通知),WebSocket 是首选方案。Node.js 生态里 ws 库是主流选择。
安装:
npm install ws
一个简单的服务端与客户端示例:
// server.js
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 3000 });
wss.on('connection', (ws) => {
ws.on('message', (message) => {
console.log(`Received message: ${message}`);
ws.send(`You sent: ${message}`);
});
});
// client.js
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:3000');
ws.on('open', () => {
ws.send('Hello Server!');
});
ws.on('message', (message) => {
console.log(`Received message: ${message}`);
});
最后,别忘了 net 模块——它提供了底层的 TCP 通信能力。如果你需要自定义协议、或者跟其他非 HTTP 服务交互,TCP 是最灵活的方式。
// server.js
const net = require('net');
const server = net.createServer((socket) => {
socket.write('Hello from server!\n');
socket.on('data', (data) => {
console.log(`Received message: ${data}`);
socket.write(`You sent: ${data}`);
});
});
server.listen(3000, () => {
console.log('Server listening on port 3000');
});
// client.js
const net = require('net');
const client = net.createConnection({ port: 3000 }, () => {
console.log('Connected to server');
client.write('Hello from client!');
});
client.on('data', (data) => {
console.log(`Received message: ${data}`);
});
这几个示例基本覆盖了 Linux 上 Node.js 网络通信的主流场景。实际开发时,根据需求选对工具就好——比如高并发 REST API 用 Express,实时推送用 WebSocket,底层协议用 TCP。当然,社区里还有 Koa、Fastify、Socket.IO 等更成熟的方案,但理解这些基础模块,再学框架会轻松很多。