4/06/2026

云服务器(Linux + Nginx)网站服务器优化配置指南


## 一、Linux系统层优化


### 1. 安全基础配置

- **系统更新**:定期执行 `sudo apt update && sudo apt upgrade`(Debian系)或 `sudo dnf update`(RHEL系),保持内核与软件包最新。

- **防火墙**:仅开放必要端口(22/SSH、80/HTTP、443/HTTPS)。  

  Ubuntu:`sudo ufw allow 22,80,443/tcp && sudo ufw enable`  

  RHEL系:`sudo firewall-cmd --permanent --add-service={ssh,http,https} && sudo firewall-cmd --reload`

- **SSH加固**:  

  - 修改默认端口(`/etc/ssh/sshd_config` 中 `Port`)  

  - 禁用root登录(`PermitRootLogin no`)  

  - 启用密钥认证(`PasswordAuthentication no`)  

  - 配置Fail2ban防止暴力破解

- **专用服务账户**:创建非root用户(如 `www-data`)运行Nginx,遵循最小权限原则。


### 2. 内核与资源调优(`/etc/sysctl.conf`)

```conf

# 网络连接优化

net.core.somaxconn = 65535

net.ipv4.tcp_max_syn_backlog = 65535

net.core.netdev_max_backlog = 65535

net.ipv4.ip_local_port_range = 1024 65535

net.ipv4.tcp_fin_timeout = 30

# 注:tcp_tw_reuse 需谨慎使用(仅适用于客户端连接场景,服务器端建议结合业务评估)

```

生效命令:`sudo sysctl -p`  

文件描述符限制:  

- `/etc/security/limits.conf` 添加:  

  `* soft nofile 65535`  

  `* hard nofile 65535`  

- 重启会话后验证:`ulimit -n`


### 3. 运维增强

- **时间同步**:部署 `chrony` 或 `systemd-timesyncd`,确保日志与证书时效准确。

- **日志管理**:配置 `logrotate`(`/etc/logrotate.d/nginx`),避免磁盘占满。

- **SELinux/AppArmor**:建议保留并配置策略(如 `audit2allow` 生成规则),而非直接禁用。


---


## 二、Nginx应用层优化


### 1. 核心性能配置(`nginx.conf`)

```nginx

user www-data;  # 与系统创建的专用用户一致

worker_processes auto;  # 匹配CPU核心数

worker_rlimit_nofile 65535;  # 与系统ulimit对齐


events {

    use epoll;              # Linux高效事件模型

    worker_connections 10240;

    multi_accept on;

}


http {

    sendfile on;            # 零拷贝传输静态文件

    tcp_nopush on;          # 配合sendfile提升吞吐

    tcp_nodelay on;         # 小包实时传输优化

    keepalive_timeout 65;

    types_hash_max_size 2048;

    

    # 隐藏版本信息

    server_tokens off;

    

    # Gzip压缩(按需启用)

    gzip on;

    gzip_vary on;

    gzip_min_length 1024;

    gzip_types text/plain text/css application/json application/javascript text/xml application/xml;

    

    # 安全响应头(HTTPS场景补充HSTS)

    add_header X-Frame-Options "SAMEORIGIN" always;

    add_header X-Content-Type-Options "nosniff" always;

    add_header Referrer-Policy "strict-origin-when-cross-origin" always;

    # Strict-Transport-Security 仅在全站HTTPS且测试无误后启用

    

    # 静态资源缓存

    location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {

        expires 1y;

        add_header Cache-Control "public, immutable";

    }

    

    # 防护基础设置

    client_max_body_size 10M;          # 限制上传大小

    limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;

    limit_conn_zone $binary_remote_addr zone=conn_limit:10m;

    

    # 禁止敏感路径访问

    location ~ /\.(env|git|ht|svn) {

        deny all;

        return 404;

    }

}

```


### 2. SSL/TLS专项优化(启用HTTPS时)

- 协议与加密套件:  

  `ssl_protocols TLSv1.2 TLSv1.3;`  

  `ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256';`  

  `ssl_prefer_server_ciphers on;`

- 会话复用:`ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m;`

- OCSP Stapling:`ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 valid=300s;`

- 证书管理:推荐使用 Let's Encrypt + Certbot 实现自动续期。


### 3. 运维支持

- **配置验证与重载**:  

  `nginx -t && nginx -s reload`(避免服务中断)

- **状态监控**(谨慎开放):  

  ```nginx

  location /nginx_status {

      stub_status on;

      allow 127.0.0.1;  # 严格限制访问IP

      deny all;

  }

  ```

- **日志优化**:`access_log /var/log/nginx/access.log main buffer=32k flush=5s;`


---


## 三、持续运维建议

1. **监控体系**:部署 Prometheus + Node Exporter + Grafana,监控CPU、内存、连接数及Nginx指标(需启用stub_status)。

2. **定期审计**:  

   - 每月检查系统与Nginx安全公告  

   - 使用 `lynis` 或 `rkhunter` 进行安全扫描  

   - 验证备份完整性(网站文件、数据库、配置)

3. **压力测试**:上线前使用 `wrk` 或 `ab` 模拟流量,验证优化效果。

4. **云平台特性**:结合云厂商文档启用增强功能(如网络加速、云监控Agent、快照策略)。


> **重要提示**:  

> - 所有修改前务必备份配置文件(`cp /etc/nginx/nginx.conf{,.bak}`)  

> - 参数需依据实际硬件资源、流量模型动态调整,避免“一刀切”  

> - 安全配置(如HSTS、CSP)需充分测试,防止业务阻断  

> - 遵循“最小权限、纵深防御”原则,定期复审策略有效性  


通过系统性优化与持续运维,可显著提升网站服务的可靠性与抗风险能力。如有特定业务场景(高并发API、媒体站等),建议进一步定制专项策略。

云服务器(Linux + Nginx)网站服务器优化配置指南

## 一、Linux系统层优化 ### 1. 安全基础配置 - **系统更新**:定期执行 `sudo apt update && sudo apt upgrade`(Debian系)或 `sudo dnf update`(RHEL系),保持内核与软件包最新。 -...