溫馨提示×

CentOS如何高效配置服務器

小樊
37
2025-10-19 23:46:28
欄目: 云計算

CentOS高效配置服務器的實踐指南

一、基礎環境配置:構建穩定的底層基礎

基礎環境是服務器運行的基石,需優先完成以下配置:

  1. 網絡配置:生產環境建議使用靜態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測試外網連通性,確保網絡正常。
  2. 主機名與hosts文件:通過hostnamectl set-hostname your_hostname設置易識別的主機名(如web-server-01),修改/etc/hosts文件添加127.0.0.1 your_hostname,避免軟件因主機名解析失敗報錯。
  3. 時間同步:安裝chrony服務(sudo yum install -y chrony),啟動并設置開機自啟(systemctl start chronyd; systemctl enable chronyd),強制同步時間(chronyc -a makestep),通過chronyc sources -v驗證同步狀態。時間準確可避免日志時序混亂、證書驗證失敗等問題。
  4. 防火墻配置:CentOS 7及以上推薦使用firewalld,開啟服務并設置開機自啟(systemctl start firewalld; systemctl enable firewalld)。按“默認拒絕入站,只開放必要端口”原則配置,例如允許SSH端口(firewall-cmd --zone=public --add-port=22/tcp --permanent),修改后重載規則(firewall-cmd --reload)。若習慣使用iptables,需先關閉firewalldsystemctl stop firewalld; systemctl disable firewalld),再安裝iptables-services并配置規則。

二、系統安全加固:降低安全風險

安全是服務器高效運行的前提,需采取以下措施:

  1. 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)。
  2. 最小權限原則與sudo使用:為用戶分配完成任務所需的最小權限,避免直接使用root用戶。將用戶加入wheel組(usermod -aG wheel your_user),通過sudo執行需要root權限的命令(需提前配置/etc/sudoers文件,允許wheel組使用sudo)。
  3. SELinux配置:若不需要SELinux的強制訪問控制,可編輯/etc/selinux/config文件,設置SELINUX=permissive(僅記錄違規行為,不阻止),然后重啟服務器。若需保留SELinux,需通過semanage、setsebool等命令調整策略,例如允許Nginx訪問80端口(semanage port -a -t http_port_t -p tcp 8080)。
  4. 定期更新系統與軟件:通過sudo yum update -y更新系統和所有已安裝的軟件包,修復安全漏洞??稍O置定時任務(crontab -e添加0 3 * * * yum update -y >> /var/log/yum_update.log 2>&1),每天凌晨3點自動更新。

三、性能優化:提升服務器處理能力

性能優化需結合服務器用途(如Web服務器、數據庫服務器)調整,以下是通用優化措施:

  1. 關閉不必要的服務:通過systemctl list-units --type=service列出所有服務,禁用不需要的服務(如firewalld、postfix,若不需要郵件服務),減少系統資源占用(systemctl stop service_name; systemctl disable service_name)。
  2. 調整內核參數:編輯/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使配置生效。
  3. 內存管理優化:調整Swap分區大?。ㄈ粑锢韮却嫘∮?GB,建議分配與內存相等的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使用。
  4. 磁盤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等待時間)。
  5. 網絡優化:調整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設置多隊列,提升網絡吞吐量)。

四、自動化與監控:提升管理效率

自動化管理與監控可快速定位問題、減少人工干預:

  1. 自動化部署與管理:使用Ansible等工具實現批量配置,例如編寫Playbook安裝Nginx(示例代碼見問題描述),通過ansible-playbook playbook.yml命令在多臺服務器上執行,減少手動操作。
  2. 監控與性能分析:使用top(實時查看CPU、內存使用情況)、htop(更直觀的進程管理)、iostat(監控磁盤I/O)、vmstat(監控系統整體性能)等工具實時查看系統狀態。設置日志集中管理(如ELK Stack),收集和分析系統日志、應用日志,快速定位故障。定期清理日志文件(journalctl --vacuum-size=100M清理Journal日志,保留100MB以內;rm -rf /var/log/*.gz清理壓縮的舊日志),避免日志占用過多磁盤空間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女