1. 基础系统优化

1.1 关闭不必要的服务

检查并禁用不必要的后台服务,减少资源占用:

# 查看正在运行的服务
systemctl list-units --type=service --state=running

# 禁用并停止服务
systemctl disable --now <service-name>

常见可关闭服务

  • cups - 打印服务
  • bluetooth - 蓝牙服务
  • avahi-daemon - Zeroconf/Bonjour服务
  • rpcbind - 旧版NFS服务

1.2 系统与软件包更新

保持系统最新以确保安全性和性能:

# Debian/Ubuntu
apt update && apt upgrade -y && apt autoremove -y

# CentOS/RHEL
yum update -y && yum clean all

1.3 启用BBR拥塞控制算法

优化TCP网络传输性能:

# 配置BBR
cat >> /etc/sysctl.conf <<EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF

# 应用配置
sysctl -p

# 验证是否生效
sysctl net.ipv4.tcp_congestion_control

2. CPU与进程管理

2.1 限制进程CPU使用

安装并使用cpulimit控制进程资源:

# 安装cpulimit
apt install cpulimit -y  # Debian/Ubuntu
yum install epel-release -y && yum install cpulimit -y  # CentOS

# 限制进程CPU使用率
cpulimit -e process_name -l 50  # 限制为50% CPU

2.2 限制用户进程数量

编辑/etc/security/limits.conf

username hard nproc 200  # 限制用户最多200个进程

3. 内存优化

3.1 Swap空间优化

小内存VPS(<1GB)

echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p

大内存VPS(≥2GB)

swapoff -a
sed -i '/swap/d' /etc/fstab

3.2 定期清理缓存

# 手动清理
sync; echo 3 > /proc/sys/vm/drop_caches

# 设置每日自动清理(凌晨4点)
echo "0 4 * * * root sync; echo 3 > /proc/sys/vm/drop_caches" >> /etc/crontab

也有人说这是伪优化,内存缓存是预载应用有加速作用,在VPS上是负优化,母鸡内存是共享的,这个操作等于将你的备用内存让给邻居,自行判断

4. 磁盘I/O优化

4.1 SSD优化(fstrim)

systemctl enable --now fstrim.timer

4.2 I/O调度器优化

# 查看当前调度器
cat /sys/block/sda/queue/scheduler

# 设置为mq-deadline(推荐SSD)
echo "mq-deadline" > /sys/block/sda/queue/scheduler

# 持久化设置(GRUB配置)
sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="elevator=mq-deadline"/' /etc/default/grub
update-grub  # Debian/Ubuntu
grub2-mkconfig -o /boot/grub2/grub.cfg  # CentOS/RHEL

4.3 日志管理

# 限制journald日志大小
sed -i 's/#SystemMaxUse=/SystemMaxUse=100M/' /etc/systemd/journald.conf
systemctl restart systemd-journald

# 清理旧日志
journalctl --vacuum-size=100M

5. 网络优化

5.1 TCP参数优化

编辑/etc/sysctl.conf

cat >> /etc/sysctl.conf <<EOF
# 基础网络优化
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 87380 16777216
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_slow_start_after_idle=0

# 高并发连接优化
net.ipv4.tcp_max_syn_backlog=8192
net.core.somaxconn=65535
net.ipv4.tcp_max_tw_buckets=2000000
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_keepalive_time=1200
EOF

sysctl -p

5.2 禁用IPv6(可选)

cat >> /etc/sysctl.conf <<EOF
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
EOF
sysctl -p

6. 带宽限制

6.1 使用tc工具

# 限制带宽为500Mbps
tc qdisc add dev eth0 root tbf rate 500mbit burst 32kbit latency 400ms

# 移除限制
tc qdisc del dev eth0 root

6.2 使用wondershaper

# 安装
apt install wondershaper  # Debian/Ubuntu
yum install wondershaper  # CentOS

# 限制带宽(500Mbps)
wondershaper -a eth0 -d 500000 -u 500000

# 移除限制
wondershaper -c -a eth0

7. 高并发连接优化

7.1 系统级文件描述符限制

编辑/etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
root soft nofile 65535
root hard nofile 65535
root soft nproc 65535
root hard nproc 65535

7.2 服务级优化(以Nginx为例)

  1. 启动脚本 (/etc/init.d/nginx):

    ulimit -n 65535
  2. Nginx配置

    worker_rlimit_nofile 51200;
  3. Systemd服务文件 (/etc/systemd/system/nginx.service):

    [Service]
    LimitNOFILE=65535
    LimitNPROC=65535

8. 安全加固建议

  1. SSH安全

    • 禁用root登录
    • 使用密钥认证
    • 修改默认端口
  2. 防火墙配置

    # UFW (Ubuntu)
    ufw allow 22/tcp
    ufw enable
    
    # firewalld (CentOS)
    firewall-cmd --permanent --add-service=ssh
    firewall-cmd --reload
  3. 定期安全审计

    apt install lynis -y  # Debian/Ubuntu
    yum install lynis -y  # CentOS
    lynis audit system

9. 监控与维护

  1. 安装基础监控工具

    apt install htop iotop iftop nmon -y  # Debian/Ubuntu
    yum install htop iotop iftop nmon -y  # CentOS
  2. 设置日志轮转
    编辑/etc/logrotate.conf调整日志保留策略
  3. 定期维护计划

    # 每周重启服务
    0 3 * * 1 root /usr/sbin/reboot

总结

本文提供了全面的Linux服务器优化指南,从基础系统配置到高级网络调优。实施这些优化措施时,建议:

  1. 先在测试环境验证
  2. 逐项应用并监控效果
  3. 根据实际负载情况调整参数
  4. 定期复查和更新配置

对于生产环境,建议配合监控系统(如Prometheus+Grafana)持续观察服务器性能表现。

标签: linux, 优化, 安全, vps, 服务器, 性能, 加固

添加新评论