优化CentOS上Node.js的网络设置可从系统配置、应用配置和工具使用等方面入手,具体如下:
系统层面优化
ulimit -n 65535/etc/security/limits.conf,添加* soft nofile 65535和* hard nofile 65535。/etc/sysctl.conf,添加以下参数并执行sysctl -p:net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
```。
net.ipv4.tcp_fastopen = 3。/etc/sysctl.conf中添加net.ipv6.conf.all.disable_ipv6 = 1。应用层面优化
http2模块启用,支持多路复用和头部压缩,提升并发性能。cluster模块充分利用多核CPU,代码示例:const cluster = require('cluster');
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
for (let i = 0; i < numCPUs; i++) cluster.fork();
} else {
require('./app'); // 启动应用
}
```。
server {
listen 80;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
location /static/ {
root /var/www/static;
}
}
```。
网络服务优化
/etc/sysctl.conf中的net.ipv4.tcp_rmem和net.ipv4.tcp_wmem参数,提升数据传输效率。firewalld或iptables限制不必要的端口访问,仅开放必要服务端口。监控与调优工具
iftop、nload监控实时流量,iperf3测试带宽。pm2或nodemon监控Node.js应用性能,及时发现瓶颈。注意:修改系统参数前建议备份配置文件,部分优化(如内核参数)需重启服务器生效。根据实际业务负载调整参数值,避免过度配置。