nginx控制,配置

TERM, INT fast shutdown
QUIT graceful shutdown
HUP changing configuration, keeping up with a changed time zone (only for FreeBSD and Linux), starting new worker processes with a new configuration, graceful shutdown of old worker processes
USR1 re-opening log files
USR2 upgrading an executable file
WINCH graceful shutdown of worker processes

kill -USR2 \`cat /usr/local/nginx/logs/nginx.pid\`

nginx -t 测试配置是否正确
nginx -s reload 加载最新配置
nginx -s stop 立即停止
nginx -s quit 优雅停止
nginx -s reopen 重新打开日志


worker_process 工作进程,推荐cpu数x核数
events 配置nginx连接信息

worker_connections 每个工作进程支持的连接数

http 配置nginx的http信息

server 配置虚拟主机信息
    access_log 指定日志文件的位置,格式名称
    location ~ 正则匹配 = 精准匹配 空 一般匹配
        expires 缓存时间 
        rewrite 匹配地址 重写地址
            if
                -d -f -e
                =
                ~
                ~*
            set $a 1
            break
        proxy_pass 代理地址
upstream 负载服务器
    gzip 常用配置参数
        gzip 开启,关闭gzip
        gzip_buffers 压缩在内存中缓冲几块,每块多大
        gzip_comp_leverl 压缩等级1-9,推荐6
        gzip_disable  正则匹配的禁用gzip
        gzip_min_length 开始压缩的最小长度
        gzip_http_version 开始压缩的htp协议版本
        gzip_proxied 设置请求者代理服务器,该如何缓存内容
        gzip_types 对哪些mime类型做压缩
        gzip_vary 是否传输gzip压缩标志

更多信息请参考官网文档http://nginx.org/en/docs/

Nginx中实现拥塞控制可通过自适应限流算法,基于TCP拥塞控制思想实现AIMD算法,借助PID控制器动态计算限流阈值。以下是相关配置及代码示例: ### 自适应限流算法配置Nginx中实现自适应限流算法需要编写自定义模块,以下是核心算法代码: ```c // Nginx模块核心算法 static ngx_int_t ngx_http_adaptive_limit_handler(ngx_http_request_t *r) { double error = current_latency - target_latency; integral += error * dt; derivative = (error - prev_error) / dt; double output = Kp*error + Ki*integral + Kd*derivative; limit_rate = base_rate * (1 - output); } ``` 该算法每5秒采样一次后端响应时间,通过PID控制器动态计算限流阈值。具体解释如下: - `current_latency`:当前后端响应时间。 - `target_latency`:目标响应时间。 - `integral`:误差积分。 - `derivative`:误差微分。 - `Kp`、`Ki`、`Kd`:PID控制器的三个参数。 - `base_rate`:基础限流速率。 - `limit_rate`:动态计算后的限流速率。 ### 整体配置示例 在Nginx配置文件中,可结合上述算法进行如下配置: ```nginx # 工作进程相关配置 worker_processes auto; worker_cpu_affinity 0001 0010 0100 1000; worker_rlimit_nofile 100000; events { worker_connections 100000; use epoll; } # 虚拟主机配置 server { listen 80; server_name example.com; # 应用自适应限流模块 location / { # 调用自定义的自适应限流处理程序 adaptive_limit; } } ``` ### 注意事项 - 上述代码中的`adaptive_limit`是自定义模块的指令,需要将编写好的自适应限流模块编译到Nginx中才能正常使用。 - 要根据实际情况调整PID控制器的参数`Kp`、`Ki`、`Kd`,以达到最佳的拥塞控制效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值