Nginx配置文件的理解

  • user www www; #定义Nginx运行的用户和用户组
  • worker_processes auto; #nginx进程数,建议设置为等于CPU总核心数,这里auto为自动调整的意思
  • worker_cpu_affinity auto; #对于具有多颗CPU的服务器,Nginx通过设置worker_cpu_affinity参数,即可轻松实现控制进程平均分配到多颗CPU上
  • error_log logs/error.log; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
  • google_perftools_profiles /tmp/tcmalloc; #gperftools优化nginx
  • worker_rlimit_nofile 102400; #每个nginx进程打开文件描述符最大数目 配置要和系统的单进程打开文件数一致,linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535,nginx调度时分配请求到进程并不是那么的均衡,假如超过会返回502错误。可以把数值写大一点。
  • pid /usr/local/nginx/nginx.pid; #
  • events {
  • use epoll;
  • worker_connections 102400;
  • }
  • http {
  • include mime.types; #文件扩展名与文件类型映射表
  • default_type application/octet-stream; #默认文件类型
  • log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  • '$status $body_bytes_sent "$http_referer" '
  • '"$http_user_agent" "$http_x_forwarded_for"';
  • server_names_hash_bucket_size 128; #服务器名字的哈希(hash)表大小
  • client_header_buffer_size 32k; #上传文件大小限制
  • large_client_header_buffers 4 32k; #设定请求缓
  • client_max_body_size 300m; #设定请求缓
  • sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
  • proxy_ignore_client_abort on; # 告诉nginx不要主动关闭连接
  • tcp_nopush on; #启用后数据包不会马上传送出去,等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞
  • proxy_connect_timeout 500; #nginx跟后端服务器连接超时时间(代理连接超时)
  • proxy_send_timeout 600; #后端服务器数据回传时间(代理发送超时)
  • proxy_read_timeout 500; #连接成功后,后端服务器响应时间(代理接收超时)
  • proxy_buffer_size 16k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
  • proxy_buffers 4 64k; #proxy_buffers缓冲区,网页平均在32k以下的设置
  • proxy_busy_buffers_size 128k; #高负荷下缓冲大小(proxy_buffers*2)
  • proxy_temp_file_write_size 128k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
  • keepalive_timeout 10; #设置客户端连接保存活动的超时时间 设置为多少,要看网站的流量、服务器的配置而定。 因为设置太短,就会频繁的连接,消耗过多的资源,如果连接时间过长,就会有很多没用连接来占用服务器资源。
  • client_header_timeout 10; #用于设置客户端请求读取超时时间
  • client_body_timeout 10; #用于设置客户端请求主体读取超时时间
  • send_timeout 10; #用于设置相应客户端的超时时间
  • tcp_nodelay on;
  • server_tag off; #隐藏server头部
  • server_info off; #错误信息
  • server_tokens off; #隐藏nginx的版本号
  • gzip on; #开启gzip压缩
  • gzip_min_length 1k; #设置允许压缩的页面最小字节数
  • gzip_buffers 4 16k; #申请4个单位为16K的内存作为压缩结果流缓存
  • gzip_http_version 1.1; #设置识别http协议的版本,默认是1.1
  • gzip_comp_level 2; #指定gzip压缩比,1-9 数字越小,压缩比越小,速度越快.
  • gzip_types text/plain application/x-javascript text/css application/xml application/json; #指定压缩的类型
  • gzip_vary on; #让前端的缓存服务器存经过gzip压缩的页面
  • gzip_disable "MSIE [1-6]."; #意思就是在ie1-ie6环境下禁用gzip
  • server {
  • listen 84;
  • server_name _;
  • location / {
  • stub_status on;
  • access_log off;
  • }
  • }
  • upstream tomcat {
  • server 127.0.0.1:8080;
  • check interval=3000 rise=2 fall=5 timeout=1000 type=http;
  • check_http_send "GET /favicon.ico HTTP/1.0\r\n\r\n";
  • check_http_expect_alive http_2xx http_3xx;
  • }
  • include vhost/*.conf;
  • }

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博文

Linux下用于查看系统当前登录用户信息的4种方法

作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。本文为我们总结了4种查看系统用户信息(...

4638
来自专栏JavaQ

分布式锁那点事

分布式锁是控制分布式系统之间同步访问共享资源的一种方式。本篇将详细分析分布式锁的三种实现方式及其优化方案,分析其优缺点。 为什么要使用分布式锁 为了保证一个方...

42812
来自专栏云计算教程系列

如何在Ubuntu 14.04上将ngx_pagespeed添加到Nginx

ngx_pagespeed,或者只是pagespeed,是一个Nginx模块,旨在通过减少资源的大小以及客户端浏览器加载它所需的时间来自动优化您的网站。如果您还...

1183
来自专栏Pythonista

Golang之go 命令用法

(注:实际上,package名在Go语言规范中指代码中“package”后使用的名称,此名称可以与文件夹名不同。默认生成的可执行文件名是文件夹名。)

7822
来自专栏ytkah

30个redis.conf 配置项说明

1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

1023
来自专栏osc同步分享

springboot cache redis 缓存

上一节学习spring的cache缓存,介绍了spring缓存的基础: https://cloud.tencent.com/developer/article/...

2676
来自专栏linux系统运维

exportfs命令,NFS客户端问题,FTP介绍,使用vsftpd搭建ftp

2208
来自专栏云计算教程系列

如何在Ubuntu 16.04上将日志模块添加到Nginx

服务器管理不仅仅与服务的初始配置有关。它还涉及监督这些服务并确保它们尽可能顺利地运行。管理员最重要的知识来源之一是日志文件,其中包含有关系统事件的信息。

1060
来自专栏Jerry的SAP技术分享

使用JDK自带的jmap和jhat监控处于运行状态的Java进程

对于处于运行状态中的Java进程,JDK自带了很多工具,允许Java开发人员监控运行进程中的各种状态,比如该进程内部创建了多少个对象实例,消耗了多少内存,等等。

1552
来自专栏杂烩

Redis linux下安装配置 原

make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-sta...

712

扫码关注云+社区

领取腾讯云代金券