服务器配置涉及多个层面,以下从操作系统优化、服务部署、安全加固三个核心维度,结合常见场景提供配置指南:

操作系统基础配置(以 Linux 为例)
-
内核参数优化
修改/etc/sysctl.conf,提升网络和文件性能:# 提升 TCP 连接复用能力 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 30 # 扩大端口范围 net.ipv4.ip_local_port_range = 1024 65000 # 最大文件描述符 fs.file-max = 1000000
生效命令:
sysctl -p -
资源限制调整
编辑/etc/security/limits.conf:* soft nofile 65535 * hard nofile 65535 * soft nproc 65535
-
时区与时间同步
timedatectl set-timezone Asia/Shanghai apt install chrony -y # Ubuntu/Debian systemctl enable --now chronyd
Web 服务器配置(Nginx 示例)
# /etc/nginx/nginx.conf
events {
worker_connections 4096; # 每个Worker最大连接数
}
http {
# 静态文件缓存
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
server {
listen 80;
server_name example.com;
# 反向代理到应用服务器
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_cache my_cache; # 启用缓存
}
# 静态文件直接处理
location /static/ {
alias /var/www/static/;
expires 30d; # 客户端缓存30天
}
}
}
验证配置:nginx -t
重载服务:systemctl reload nginx
应用服务配置(以 Gunicorn + Django 为例)
- Gunicorn 启动脚本 (
/etc/systemd/system/gunicorn.service)[Unit] Description=Gunicorn Django App After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/gunicorn –workers 4 –bind 0.0.0.0:8000 myproject.wsgi:application
Restart=on-failure

[Install]
WantedBy=multi-user.target
启动命令:
```bash
systemctl daemon-reload
systemctl start gunicorn
- 关键参数说明
--workers:推荐值为CPU核心数*2 + 1--timeout:防止僵死进程(默认30秒)--max-requests:自动重启Worker防内存泄漏
安全加固措施
-
防火墙规则 (UFW)
ufw allow 22/tcp # SSH ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS ufw enable
-
SSH 安全
修改/etc/ssh/sshd_config:PermitRootLogin no # 禁用root登录 PasswordAuthentication no # 强制密钥认证 AllowUsers your_username # 限制用户
-
自动化漏洞扫描
安装fail2ban防暴力破解:apt install fail2ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
数据库优化(MySQL 示例)
-
配置文件
/etc/my.cnf[mysqld] innodb_buffer_pool_size = 2G # 缓冲池大小为物理内存70% innodb_log_file_size = 256M max_connections = 500 # 根据内存调整 skip_name_resolve = ON # 禁用DNS解析
-
定期备份脚本

mysqldump -u root -p your_db | gzip > /backups/db_$(date +%F).sql.gz
监控与维护
-
资源监控
- 基础命令:
top,htop,iotop,nethogs - 高级工具:Prometheus + Grafana
- 基础命令:
-
日志轮转
使用logrotate(示例配置/etc/logrotate.d/nginx):/var/log/nginx/*.log { daily rotate 30 compress missingok notifempty }
最佳实践建议:
- 版本控制:所有配置文件纳入 Git 管理
- 自动化部署:使用 Ansible/Terraform 批量配置
- 灰度发布:先部署到小部分服务器验证稳定性
- 压力测试:上线前用
wrk或jmeter模拟流量
根据实际业务需求(高并发/大数据/低延迟)调整参数,生产环境修改前务必在测试环境验证!
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/285584.html

