centos lamp网络配置优化
CentOS LAMP网络配置优化指南
一、基础网络配置
1. 配置静态IP地址
静态IP是网络稳定的基础,避免动态IP变动导致的服务中断。编辑网络接口配置文件(如/etc/sysconfig/network-scripts/ifcfg-ens33
,网卡名可通过ip a
命令查看),设置以下参数:
BOOTPROTO=static # 静态IP模式
IPADDR=192.168.1.100 # 替换为你的IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关地址
DNS1=8.8.8.8 # 首选DNS服务器
DNS2=8.8.4.4 # 备用DNS服务器
ONBOOT=yes # 开机自动启动网络
保存后重启网络服务:sudo systemctl restart network
(CentOS 7及以上建议用systemctl restart NetworkManager
)。
2. 防火墙优化
通过firewalld
(CentOS 7+默认)放通LAMP必需端口,限制非法访问:
# 放通HTTP(80)、HTTPS(443)、MySQL(3306)、SSH(22)端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
# 重新加载防火墙规则
firewall-cmd --reload
# 查看已放通端口
firewall-cmd --list-all
若使用iptables
,需添加对应规则并保存(service iptables save
)。
二、系统内核网络参数优化
调整/etc/sysctl.conf
文件,优化TCP连接、端口范围等参数,提升网络吞吐量:
# 启用SYN Cookie防止SYN Flood攻击
net.ipv4.tcp_syncookies=1
# 扩大本地端口范围(默认1024-4999,调整为1024-65535)
net.ipv4.ip_local_port_range=1024 65535
# 增大TCP SYN队列长度(默认1024,调整为8192)
net.ipv4.tcp_max_syn_backlog=8192
# 减少SYN重试次数(默认5次,调整为2次)
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syn_retries=5
# 增大系统最大文件句柄数(默认1024,调整为65535)
fs.file-max=65535
# 允许端口复用(减少TIME_WAIT状态连接)
net.ipv4.tcp_tw_reuse=1
# 缩短TIME_WAIT状态超时时间(默认60秒,调整为30秒)
net.ipv4.tcp_fin_timeout=30
# 增大TCP接收/发送缓冲区大小(默认4096,调整为8192)
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
修改后使配置生效:sudo sysctl -p
。
三、Apache网络性能优化
1. 调整KeepAlive参数
启用长连接减少TCP握手开销,但需平衡并发性能:
编辑/etc/httpd/conf/httpd.conf
(或/etc/apache2/apache2.conf
),设置:
KeepAlive On # 启用长连接
MaxKeepAliveRequests 100 # 单个连接最大请求数(避免单个连接占用过久)
KeepAliveTimeout 5 # 空闲连接超时时间(默认15秒,缩短减少资源占用)
重启Apache:sudo systemctl restart httpd
。
2. 优化MPM(多处理模块)配置
根据服务器资源调整并发处理能力(以prefork
模块为例,适用于兼容性场景;worker
/event
模块适用于高并发):
<
IfModule mpm_prefork_module>
StartServers 10 # 启动时的子进程数
MinSpareServers 5 # 最小空闲子进程数
MaxSpareServers 20 # 最大空闲子进程数
MaxRequestWorkers 150 # 最大并发请求数(根据内存调整,每进程约消耗10-20MB内存)
MaxConnectionsPerChild 1000 # 每个子进程处理的最大请求数(避免内存泄漏)
<
/IfModule>
修改后重启Apache生效。
四、MySQL网络性能优化
1. 调整InnoDB缓冲池
增大InnoDB缓冲池减少磁盘I/O(建议设置为物理内存的50%-80%,如16GB内存设置8GB-12GB):
编辑/etc/my.cnf
(或/etc/mysql/mysql.conf.d/mysqld.cnf
),添加:
[mysqld]
innodb_buffer_pool_size=8G # 根据服务器内存调整
innodb_buffer_pool_instances=4 # 缓冲池实例数(多核CPU建议设置为4-8)
重启MySQL:sudo systemctl restart mysqld
。
2. 优化连接数
调整最大并发连接数(避免过多连接导致资源耗尽):
[mysqld]
max_connections=200 # 根据应用需求调整(默认151,建议不超过200)
max_user_connections=50 # 单个用户最大连接数
重启MySQL生效。
五、PHP网络性能优化
1. 启用Opcode缓存
使用OPcache缓存编译后的PHP脚本,减少重复编译开销:
编辑/etc/php.ini
,添加:
[opcache]
opcache.enable=1 # 启用OPcache
opcache.memory_consumption=128 # 缓存大小(MB,根据内存调整)
opcache.interned_strings_buffer=8 # 内部字符串缓存大小
opcache.max_accelerated_files=4000 # 缓存文件数量
opcache.revalidate_freq=60 # 缓存验证频率(秒)
重启Apache:sudo systemctl restart httpd
。
2. 禁用不必要的PHP模块
通过php.ini
禁用未使用的模块(如xdebug
、gd
仅在需要时启用),减少内存占用:
;
禁用xdebug(生产环境不需要)
zend_extension=xdebug.so # 注释掉或删除此行
;
禁用gd(若不需要图片处理)
extension=gd.so # 注释掉或删除此行
重启Apache生效。
六、网络监控与维护
1. 实时流量监控
使用iftop
(按流量排序)、nload
(实时带宽)工具监控网络流量,及时发现异常:
# 安装iftop
sudo yum install iftop -y
# 运行iftop(需root权限)
sudo iftop -i ens33 # 替换为你的网卡名
# 安装nload
sudo yum install nload -y
sudo nload
2. 日志分析
定期检查Apache、MySQL日志,定位网络或性能问题:
# 查看Apache访问日志(默认路径)
tail -f /var/log/httpd/access_log
# 查看Apache错误日志
tail -f /var/log/httpd/error_log
# 查看MySQL慢查询日志(需开启慢查询)
tail -f /var/log/mysql/slow.log
3. 定期更新
保持系统、LAMP组件为最新版本,修复安全漏洞并提升性能:
sudo yum update -y # 更新所有软件包
通过以上步骤,可显著提升CentOS LAMP环境的网络性能、稳定性和安全性。优化前建议在测试环境验证配置,避免影响生产环境。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lamp网络配置优化
本文地址: https://pptw.com/jishu/732137.html