Java在CentOS上的网络配置方法
一 系统网络与防火墙配置
DEVICE=ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
sudo nmcli con mod ens33 ipv4.addresses 192.168.1.100/24
sudo nmcli con mod ens33 ipv4.gateway 192.168.1.1
sudo nmcli con mod ens33 ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli con mod ens33 ipv4.method manual
sudo nmcli con down ens33 && sudo nmcli con up ens33
nameserver 8.8.8.8
nameserver 8.8.4.4
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
二 JVM与Java应用的网络参数
java -Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080 \
-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=8080 \
-jar your-application.jar
-Dhttp.nonProxyHosts="localhost|127.0.0.1|*.example.com"
-Djava.net.preferIPv4Stack=true
-Djava.net.preferIPv6Addresses=false
-Dsun.net.inetaddr.ttl=60
-Dsun.net.inetaddr.negative.ttl=10
-Dsun.net.client.defaultConnectTimeout=5000
-Dsun.net.client.defaultReadTimeout=5000
-Dhttp.keepAlive=true
-Dhttp.maxConnections=100
-Dhttp.connectionTimeout=5000
三 系统级TCP/IP调优(可选)
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
四 验证与排障