Nginx优化配置,轻松应对高并发

Nginx现在已经是最火的web服务器之一,尤其在静态分离和负载均衡方面,性能十分优越。接下来我们主要看下Nginx在高并发环境下的优化配置,主要是针对 nginx.conf 文件的属性设置。我们打开 nginx.conf 文件,从上往下依次看下。

一、工作进程优化

#user nobody;
worker_processes 8;  #线程数,匹配服务器核心数目

#error_log   logs/error_log;  #可指定error_log日志的目录
#error_log   logs/error_log notice;
#error_log   logs/error_log info;

#pid         logs/nginx.pid   #指定pid存放的路径

work_processes 是指 Nginx的工作进程数量,一般按照机器的CPU核数来设置,比如8核的服务就设置为8,16核的服务器,可设置为16。举例如下,

  • work_processes 4;#工作进程数量
  • worker_cpu_affinity 00000001 00000010 00000100 00001000;#为每个进程指定cpu

二、事件处理模型

events {
    worker_connections  102400;
    accept_mutex  on;
    multi_accept  on;
    use epoll;
}
  • worker_connections 102400; #每个工作进程允许的最大连接数。
  • accept_mutex on;
  • multi_accept on; # 打开同时接受多个新网络连接请求的功能。
  • use epoll; #使用高性能的 epoll 事件驱动,处理效率高。

     三、日志输出优化

  • ​nginx 允许自定义日志的优化输出,可以按照具体项目的需求定制。默认可以获得remote_addr、remote_user 和 http_user_agent、http_x_forwarded_for等属性。

    四、高效传输模式

    • sendfile on; # 开启高效文件传输模式。
    • tcp_nopush on; #需要在sendfile开启模式才有效,防止网络阻塞,积极的减少网络报文段的数量。将响应头和正文的开始部分一起发送,而不一个接一个的发送。

    五、开启传输压缩

    gzip on;# 这个属性主要是开启传输压缩功能,可以压缩传输的页面、js、json数据、图片等,占用更小的带宽,提高传输性能。

    经过上面的配置,大体如下

  

http {
    include              mine.types
    default_type         application/octet-scream;
    
    log_format   main  '$remote_addr - $remote_user [$time_local] "$request"'
                       '$status $body_bytes_sent "$http_referer"'
                       '"$http_user_agent" "$http_x_forwarded_for"';
    
    #access_log   logs/access_log  main;

    sendfile    on;   #高性能传输模式
    tcp_nopush  on;
    
    #keepalive_timeout  0;
    keepalive_timeout   65;
    
    gzip on;          #开启传输压缩
    gzip_min_length   1k;
    gzip_buffers      4k;
    gzip_http_version   1.0;
    gzip_comp_level   8;
    gzip_types    text/plain  application/x-javascript  text/css application/xml;
    gzip_vary     on;
    
    server {
      listen         80;
      server_name    localhost;
      
      ...

好了,上面就是简单的 nginx 并发性能优化,是不是很简单呢,大家可以抽空试一下哦。

猜你喜欢

转载自www.cnblogs.com/luchangjiang/p/10884865.html