CentOS如何高效配置服务器
导读:CentOS高效配置服务器的实践指南 一、基础环境配置:构建稳定的底层基础 基础环境是服务器运行的基石,需优先完成以下配置: 网络配置:生产环境建议使用静态IP,编辑/etc/sysconfig/network-scripts/ifcfg...
CentOS高效配置服务器的实践指南
一、基础环境配置:构建稳定的底层基础
基础环境是服务器运行的基石,需优先完成以下配置:
- 网络配置:生产环境建议使用静态IP,编辑
/etc/sysconfig/network-scripts/ifcfg-ens33
(网卡名以实际为准),设置BOOTPROTO=static
、IPADDR
(服务器IP)、NETMASK
(子网掩码)、GATEWAY
(网关)、DNS1=8.8.8.8
(DNS服务器),重启网络服务使配置生效。配置前需通过ip addr show
验证网卡状态、ping -c 4 www.baidu.com
测试DNS解析、ping -c 4 114.114.114.114
测试外网连通性,确保网络正常。 - 主机名与hosts文件:通过
hostnamectl set-hostname your_hostname
设置易识别的主机名(如web-server-01
),修改/etc/hosts
文件添加127.0.0.1 your_hostname
,避免软件因主机名解析失败报错。 - 时间同步:安装
chrony
服务(sudo yum install -y chrony
),启动并设置开机自启(systemctl start chronyd; systemctl enable chronyd
),强制同步时间(chronyc -a makestep
),通过chronyc sources -v
验证同步状态。时间准确可避免日志时序混乱、证书验证失败等问题。 - 防火墙配置:CentOS 7及以上推荐使用
firewalld
,开启服务并设置开机自启(systemctl start firewalld; systemctl enable firewalld
)。按“默认拒绝入站,只开放必要端口”原则配置,例如允许SSH端口(firewall-cmd --zone=public --add-port=22/tcp --permanent
),修改后重载规则(firewall-cmd --reload
)。若习惯使用iptables
,需先关闭firewalld
(systemctl stop firewalld; systemctl disable firewalld
),再安装iptables-services
并配置规则。
二、系统安全加固:降低安全风险
安全是服务器高效运行的前提,需采取以下措施:
- SSH密钥认证与访问限制:禁用密码登录,生成SSH密钥对(
ssh-keygen -t rsa
),将公钥(id_rsa.pub
)复制到服务器~/.ssh/authorized_keys
文件中。修改/etc/ssh/sshd_config
文件,设置PasswordAuthentication no
、PermitRootLogin no
(禁止root直接登录),限制访问IP(AllowUsers your_user@your_ip
),重载SSH服务(systemctl reload sshd
)。 - 最小权限原则与sudo使用:为用户分配完成任务所需的最小权限,避免直接使用root用户。将用户加入
wheel
组(usermod -aG wheel your_user
),通过sudo
执行需要root权限的命令(需提前配置/etc/sudoers
文件,允许wheel
组使用sudo)。 - SELinux配置:若不需要SELinux的强制访问控制,可编辑
/etc/selinux/config
文件,设置SELINUX=permissive
(仅记录违规行为,不阻止),然后重启服务器。若需保留SELinux,需通过semanage
、setsebool
等命令调整策略,例如允许Nginx访问80端口(semanage port -a -t http_port_t -p tcp 8080
)。 - 定期更新系统与软件:通过
sudo yum update -y
更新系统和所有已安装的软件包,修复安全漏洞。可设置定时任务(crontab -e
添加0 3 * * * yum update -y > > /var/log/yum_update.log 2> & 1
),每天凌晨3点自动更新。
三、性能优化:提升服务器处理能力
性能优化需结合服务器用途(如Web服务器、数据库服务器)调整,以下是通用优化措施:
- 关闭不必要的服务:通过
systemctl list-units --type=service
列出所有服务,禁用不需要的服务(如firewalld
、postfix
,若不需要邮件服务),减少系统资源占用(systemctl stop service_name; systemctl disable service_name
)。 - 调整内核参数:编辑
/etc/sysctl.conf
文件,优化以下关键参数:net.ipv4.tcp_tw_reuse = 1
(允许复用TIME-WAIT状态的连接,提升TCP并发能力)、net.core.somaxconn = 65535
(增加TCP监听队列长度,避免连接被拒绝)、vm.swappiness = 10
(降低Swap使用频率,优先使用物理内存)、vm.dirty_ratio = 10
(当脏页占内存10%时触发刷盘,平衡性能与数据安全性)。修改后执行sysctl -p
使配置生效。 - 内存管理优化:调整Swap分区大小(若物理内存小于8GB,建议分配与内存相等的Swap空间;若内存大于8GB,可分配4-8GB),通过
mkswap /dev/sdb1
创建Swap分区,swapon /dev/sdb1
启用,修改/etc/fstab
文件(添加/dev/sdb1 swap swap defaults 0 0
)实现开机自动挂载。同时,设置vm.swappiness=10
(默认60),减少Swap使用。 - 磁盘I/O优化:选择高性能存储设备(如SSD),若使用机械硬盘,可通过
iostat -x 1
监控磁盘I/O负载。调整文件系统挂载选项,在/etc/fstab
中添加noatime,nodiratime
(减少对磁盘的写入操作,提升读性能),例如/dev/sda1 / ext4 defaults,noatime,nodiratime 0 1
。优化I/O调度器,通过echo deadline /sys/block/sda/queue/scheduler
设置为deadline
(适用于大多数场景,减少I/O等待时间)。 - 网络优化:调整TCP参数(在
/etc/sysctl.conf
中添加net.ipv4.tcp_window_size = 1024000
(增大TCP窗口大小,提升吞吐量)、net.ipv4.tcp_max_syn_backlog = 8192
(增加SYN队列长度,应对高并发连接)、net.core.netdev_max_backlog = 2000
(增加网络设备队列长度,避免丢包)),修改后执行sysctl -p
生效。启用网卡多队列(ethtool -l eth0
查看是否支持多队列,ethtool -L eth0 combined 8
设置多队列,提升网络吞吐量)。
四、自动化与监控:提升管理效率
自动化管理与监控可快速定位问题、减少人工干预:
- 自动化部署与管理:使用Ansible等工具实现批量配置,例如编写Playbook安装Nginx(示例代码见问题描述),通过
ansible-playbook playbook.yml
命令在多台服务器上执行,减少手动操作。 - 监控与性能分析:使用
top
(实时查看CPU、内存使用情况)、htop
(更直观的进程管理)、iostat
(监控磁盘I/O)、vmstat
(监控系统整体性能)等工具实时查看系统状态。设置日志集中管理(如ELK Stack),收集和分析系统日志、应用日志,快速定位故障。定期清理日志文件(journalctl --vacuum-size=100M
清理Journal日志,保留100MB以内;rm -rf /var/log/*.gz
清理压缩的旧日志),避免日志占用过多磁盘空间。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS如何高效配置服务器
本文地址: https://pptw.com/jishu/730083.html