Nginx 简单配置 v1.22

  1. SSL 配置

  1. http转https配置

  1. Nginx代理配置

其中 ssl_certification 和 key 文件的位置: /home/nginx/conf/cert/scs........

location /api 是后台接口,配置在443下也是安全访问后台接口;由于使用代理转发,因此后台接口不需要在云服务器开放;

最后rewrite 是将ttp请求转为https请求

# HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  ***.xyz www.****.xyz;

        ssl_certificate      cert/scs1670833909105_lyincai.xyz_server.crt;
        ssl_certificate_key  cert/scs1670833909105_lyincai.xyz_server.key;

       # ssl_certificate      /home/nginx/ssl/lyincai.xyz_bundle.pem;
       # ssl_certificate_key  /home/nginx/ssl/lyincai.xyz.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        #ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
        
        location /api {
                proxy_pass http://localhost:8700;       
        }

    }


    server {
        listen 80;
        server_name ****.xyz www.****.xyz;
        rewrite .* https://$server_name/$1 redirect;
    }
<think>我们正在配置Nginx 1.22以支持长连接。长连接(Keep-Alive)允许在同一个TCP连接上发送多个HTTP请求和响应,从而减少连接建立和关闭的开销,提高性能。 在Nginx中,与长连接相关的配置指令主要有: 1. `keepalive_timeout`:设置一个超时时间,在此期间保持连接打开。默认值为75秒。 2. `keepalive_requests`:设置一个连接上能够处理的最大请求数。默认值为100。 此外,在配置上游服务器(upstream)时,我们可能还需要配置: - `keepalive`:设置每个worker进程与上游服务器保持的空闲连接的最大数量。 根据用户的问题,我们只需要配置Nginx本身支持长连接(即客户端到Nginx的连接),因此我们主要关注`keepalive_timeout`和`keepalive_requests`这两个指令。 配置方法如下: 1. 打开Nginx配置文件(通常位于`/usr/local/nginx/conf/nginx.conf`或`/etc/nginx/nginx.conf`)。 2. 在http块、server块或location块中设置`keepalive_timeout`和`keepalive_requests`。通常,我们在http块中设置全局配置。 例如: ```nginx http { # ... 其他配置 ... # 设置长连接超时时间为75秒(默认值),可以按需调整 keepalive_timeout 75; # 设置一个长连接最多服务100个请求(默认值),可以按需调整 keepalive_requests 100; # ... 其他配置 ... } ``` 3. 保存配置文件,并重新加载Nginx使配置生效: ```bash nginx -s reload ``` 注意: - 如果希望客户端在关闭连接后保持更长时间的连接,可以增加`keepalive_timeout`的值。但设置过长可能导致资源浪费。 - 如果希望一个连接可以处理更多的请求,可以增加`keepalive_requests`的值。 另外,如果用户需要配置Nginx与上游服务器之间的长连接(即Nginx作为客户端与后端服务器保持长连接),则需要在upstream配置中使用`keepalive`指令。但根据问题描述,用户目前只要求配置Nginx支持长连接(即客户端与Nginx之间的长连接),因此这里不展开。 最后,我们可以通过检查响应头中的`Connection: keep-alive`和`Keep-Alive: timeout=...`来验证配置是否生效。 参考引用: [^1]: 提供了关于Nginx配置的多篇参考资料,其中可能包含关于长连接配置的信息。 [^2]: 展示了编译Nginx时添加模块的示例,但长连接是Nginx内置支持的功能,无需额外模块。 [^3]: 介绍了Nginx配置的结构,包括http块、server块等,我们可以将长连接配置放在合适的块中。</think>### Nginx 1.22 长连接配置指南 在 Nginx 1.22配置长连接(Keep-Alive)主要通过以下两个核心指令实现: #### 1. **`keepalive_timeout`**(连接保持时间) ```nginx http { # 设置连接保持时间为65秒(默认75秒) keepalive_timeout 65; # 可选:在响应头显示超时信息(格式:timeout=65) keepalive_timeout 65 65; } ``` - 第一个参数:服务端保持连接的空闲超时(秒) - 第二个参数(可选):在`Keep-Alive`响应头返回给客户端的值 #### 2. **`keepalive_requests`**(单连接最大请求数) ```nginx http { # 设置单个连接最多处理1000个请求(默认100) keepalive_requests 1000; } ``` #### 完整配置示例 ```nginx http { # 长连接配置 keepalive_timeout 65s; # 保持65秒空闲连接 keepalive_requests 1000; # 单连接处理1000个请求 # 优化补充(可选) sendfile on; # 启用高效文件传输 tcp_nopush on; # 优化数据包发送 tcp_nodelay on; # 禁用Nagle算法 server { listen 80; server_name example.com; location / { # 此处可添加代理或静态文件配置 proxy_http_version 1.1; # 建议HTTP/1.1 proxy_set_header Connection ""; # 清空Connection头 } } } ``` #### 验证配置 1. 测试配置文件语法: ```bash nginx -t ``` 2. 重载配置: ```bash nginx -s reload ``` 3. 验证响应头(应包含): ``` Connection: keep-alive Keep-Alive: timeout=65 ``` #### 性能调优建议 1. **超时时间**:根据业务流量调整(建议 30-75 秒) - 值过大:浪费服务器资源 - 值过小:失去长连接优势 2. **请求数**:高并发场景建议 1000+ 3. 监控指标: ```bash # 查看长连接状态 netstat -an | grep ESTABLISHED | grep :80 ``` > 注意:上游服务(如 Tomcat/PHP-FPM)也需开启长连接支持[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值