Nginx实战:性能调优/配置优化-相关指令

目录:

引言

1·worker进程相关---合理使用服务器性能

1.1·worker_processes

1.2·worker_cpu_affinity

1.3 worker_connections

1.4·worker_priority

1.5·worker_rlimit_nofile

1.6·worker_rlimit_sigpending

2·coredump文件---保存故障线索

2.1·worker_rlimit_core

2.2·working_directory 指令

3·事件模型选择

4·超时设置---避免资源浪费

4.1·client_header_timeout

4.2·client_body_timeout

4.3·resolver_timeout

4.4·send_timeout 

4.5·proxy_connect_timeout 

4.6·proxy_read_timeout

4.7·proxy_send_timeout

4.8·proxy_upstream_fail_timeout(fail_timeout)

5·长连接keepalive---避免频繁创建/销毁连接的开销

5.1·浏览器(client)到nginx的长连接

5.1.1·keepalive_timeout

5.1.2·keepalive_request

5.2·从Nginx 到 Server(upstream) 的长连接

5.2.1·keepalive 

6·缓存---缓解服务器压力,节约带宽,提高响应速度,

7.缓冲

7.1·proxy_buffering

7.2·proxy_buffers 

7.3·proxy_buffer_size

7.4·proxy_busy_buffers_size

7.5·proxy_max_temp_file_size

7.6·proxy_temp_file_write_size

7.7·proxy_temp_path

7.8·buffer 工作原理

8·gzip---节约带宽,提高响应速度

8.1·gzip

8.2·gzip_buffers

8.3·gzip_comp_level

8.4·gzip_min_length

8.5·gzip_http_version

8.6·gzip_ proxied

8.7·gzip_types

9·高效文件传输模式

9.1·sendfile

9.2·tcp_nopush

9.3·tcp_nodelay


引言

      默认的Nginx安装参数只能提供最基本的服务,还需要调整如网页缓存时间、连接超时、网页压缩等等相应参数,根据自身服务的特性,配置合适的参数,才能发挥出服务器的最大作用。

1·worker进程相关---合理使用服务器性能

1.1·worker_processes

每个 worker 进程都是单线程的进程,它们会调用各个模块以实现多种多样的功能。

如果这些模块确认不会出现阻塞式的调用,那么,有多少 CPU 内核就应该配置多少个进程;

反 之,如果有可能出现阻塞式调用,那么需要配置稍多一些的 worker 进程。

最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。

语法: worker_processes number

默认值: 1

示例: worker_processes 4;

查看linux服务器cpu个数,可以用来参考设置的值:cat /proc/cpuinfo |grep "cores"|uni

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Nginx是一个高性能的Web服务器和反向代理服务器,它具有占用资源少、处理请求快、支持高并发等优点,但是在大流量环境下,需要对Nginx进行优化,以提高性能和稳定性。 以下是一些Nginx优化的建议: 1. 调整worker_processes参数 worker_processes参数是Nginx的工作进程数,建议将其设置为CPU核心数的两倍。 例如,如果你的服务器有8个CPU核心,则可以将worker_processes设置为16。 2. 增加worker_connections参数 worker_connections参数表示每个工作进程可以同时处理的连接数,建议将其设置为1024或更高。 可以通过以下命令查看当前系统的最大连接数: ``` ulimit -n ``` 如果当前值较小,则需要增加该值: ``` ulimit -n 65535 ``` 3. 开启TCP Keepalive TCP Keepalive可以在连接空闲一段时间后,自动发送一个探测包,以保持连接的有效性。 可以通过以下命令开启TCP Keepalive: ``` tcp_nodelay on; tcp_nopush on; keepalive_timeout 60s; ``` 其中,keepalive_timeout表示空闲连接的超时时间。 4. 启用gzip压缩 启用gzip压缩可以减少传输数据量,提高网站的响应速度。 可以通过以下命令开启gzip压缩: ``` gzip on; gzip_min_length 1k; gzip_buffers 16 64k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ``` 其中,gzip_types表示需要压缩的文件类型。 5. 限制请求速率 限制请求速率可以防止恶意攻击和DDoS攻击。 可以通过以下命令限制请求速率: ``` limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ``` 其中,$binary_remote_addr表示客户端IP地址,zone表示限制区域,10m表示限制区域的内存大小,rate表示请求速率。 6. 缓存静态文件 缓存静态文件可以减少文件的读取次数,提高网站的响应速度。 可以通过以下命令缓存静态文件: ``` location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 1d; add_header Cache-Control "public"; } ``` 其中,expires表示文件的过期时间,add_header表示响应头信息。 以上是一些Nginx优化建议,需要根据实际情况进行调整和优化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙叔运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值