如何优化centos lamp的网络设置
一、系统级网络参数优化
调整内核参数以提升TCP连接效率和系统资源利用率,编辑/etc/sysctl.conf
文件,添加或修改以下关键参数:
net.ipv4.tcp_syncookies=1
:防止SYN Flood攻击,提升连接稳定性;net.ipv4.ip_local_port_range=1024 65535
:扩大本地端口范围,支持更多并发连接;net.ipv4.tcp_max_syn_backlog=8192
:增加SYN队列长度,避免高并发下连接丢失;net.ipv4.tcp_synack_retries=2
、net.ipv4.tcp_syn_retries=5
:减少SYN重试次数,加快连接响应;net.core.somaxconn=65535
:提升监听队列最大长度,应对突发高并发;net.core.netdev_max_backlog=65535
:增加网络设备接收队列长度,避免数据包丢失。
修改后执行sudo sysctl -p
使配置生效。
二、网络接口与连接配置
-
设置静态IP地址:避免DHCP动态分配导致的IP变动,编辑
/etc/sysconfig/network-scripts/ifcfg-< 网卡名>
(如ifcfg-eth0
或ifcfg-ens33
),配置以下参数:BOOTPROTO=static
:指定静态IP模式;IPADDR=< 服务器IP>
、NETMASK=< 子网掩码>
、GATEWAY=< 网关地址>
:设置IP、子网掩码和网关;DNS1=< 主DNS服务器>
、DNS2=< 备用DNS服务器>
:配置DNS解析。
保存后重启网络服务:sudo systemctl restart network
。
-
优先使用有线连接:有线连接比无线更稳定、延迟更低,确保服务器通过以太网线连接网络。
三、防火墙与安全配置
-
放通必要端口:使用
firewalld
开放LAMP核心服务端口,执行以下命令:firewall-cmd --zone=public --add-port=80/tcp --permanent # HTTP firewall-cmd --zone=public --add-port=443/tcp --permanent # HTTPS firewall-cmd --zone=public --add-port=3306/tcp --permanent # MySQL(可选,若需远程访问) firewall-cmd --reload
通过
firewall-cmd --list-all
验证端口是否放通。 -
限制不必要的流量:使用
tc
(Traffic Control)工具分配带宽,避免单一应用占用全部资源(如限制某进程带宽为10Mbps):tc qdisc add dev eth0 root handle 1: htb default 10 tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10mbit tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:10
(注:需根据实际需求调整参数)。
四、Apache服务优化
-
调整KeepAlive设置:启用长连接减少TCP握手开销,编辑
/etc/httpd/conf/httpd.conf
,修改以下参数:KeepAlive On
:启用长连接;MaxKeepAliveRequests 100
:单个连接最大请求数(避免单个连接占用过久);KeepAliveTimeout 5
:长连接超时时间(秒),减少空闲连接占用资源。
-
优化并发处理:根据服务器内存调整
MaxRequestWorkers
(或MaxClients
,取决于Apache版本),计算公式:MaxRequestWorkers = (总内存 - 系统预留内存) / 单个Apache进程内存占用(约20-30MB)
例如,1GB内存服务器可设置为
MaxRequestWorkers 300
,避免过多并发导致内存耗尽。 -
启用缓存模块:使用
mod_cache
缓存动态内容,减少服务器计算压力,编辑httpd.conf
添加:LoadModule cache_module modules/mod_cache.so LoadModule cache_disk_module modules/mod_cache_disk.so < IfModule mod_cache.c> CacheQuickHandler off CacheLock on CacheLockPath /tmp/mod_cache-lock CacheLockMaxAge 5 CacheIgnoreHeaders Set-Cookie < IfModule mod_cache_disk.c> CacheRoot /var/cache/apache2/mod_cache_disk CacheEnable disk / CacheDirLevels 2 CacheDirLength 1 < /IfModule> < /IfModule>
创建缓存目录并设置权限:
mkdir -p /var/cache/apache2/mod_cache_disk & & chown apache:apache /var/cache/apache2/mod_cache_disk
。
五、MySQL/MariaDB网络优化
-
调整InnoDB缓冲池:增大
innodb_buffer_pool_size
(通常为系统内存的50%-80%),减少磁盘I/O,编辑/etc/my.cnf
:[mysqld] innodb_buffer_pool_size=4G # 示例:4GB内存服务器设置为4G
重启MySQL生效:
sudo systemctl restart mariadb
。 -
优化连接数设置:调整
max_connections
(默认151,可根据并发需求增加至500-1000),避免连接溢出;同时设置thread_cache_size
(如thread_cache_size=50
),缓存空闲线程,减少线程创建开销。
六、PHP优化
-
启用Opcode缓存:使用
OPcache
缓存编译后的PHP脚本,提升执行效率,编辑/etc/php.ini
:zend_extension=opcache.so opcache.enable=1 opcache.memory_consumption=128 # 缓存大小(MB) opcache.max_accelerated_files=10000 # 缓存文件数量 opcache.revalidate_freq=60 # 文件检查间隔(秒)
重启Apache使配置生效:
sudo systemctl restart httpd
。 -
调整内存与执行时间:根据应用需求设置
memory_limit
(如memory_limit=256M
,避免单个脚本占用过多内存)和max_execution_time
(如max_execution_time=30
,限制脚本执行时间,防止长时间占用资源)。
七、网络监控与维护
-
使用监控工具:安装
iftop
(实时流量监控)、nload
(带宽使用统计)、iperf
(带宽测试)等工具,定期检查网络性能:sudo yum install iftop nload iperf -y sudo iftop -i eth0 # 实时查看eth0接口流量 sudo iperf -s # 服务器端启动iperf(测试带宽) sudo iperf -c < 服务器IP> # 客户端测试到服务器的带宽
通过监控及时发现带宽瓶颈或异常流量。
-
定期检查日志:分析
/var/log/messages
(系统日志)、/var/log/httpd/access_log
(Apache访问日志)、/var/log/mariadb/mariadb.log
(MySQL日志),排查网络错误(如连接超时、拒绝服务)和性能问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何优化centos lamp的网络设置
本文地址: https://pptw.com/jishu/730109.html