首页 > 系统相关 >nginx.conf配置文件

nginx.conf配置文件

时间:2023-01-12 18:57:06浏览次数:36  
标签:www log 配置文件 application server nginx conf fastcgi

user  www www;
worker_processes auto; #cat /proc/cpuinfo | grep ^processor | wc -l  #查看cpu核数
worker_cpu_affinity auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200; #每个进程的最大文件打开数,所以最好与ulimit -n的值保持一致。

stream {
    log_format tcp_format '$time_local|$remote_addr|$protocol|$status|$bytes_sent|$bytes_received|$session_time|$upstream_addr|$upstream_bytes_sent|$upstream_bytes_received|$upstream_connect_time';
  
    access_log /www/wwwlogs/tcp-access.log tcp_format;
    error_log /www/wwwlogs/tcp-error.log;
    include /www/server/panel/vhost/nginx/tcp/*.conf;
}

events
    {
        use epoll;
        #表示每个worker(子进程)可以创建多少个连接,默认1024,最大是65535.
        worker_connections 51200;
        #告诉nginx收到一个新连接通知后接受尽可能多的连接,默认是on,设置为on后,多个worker按串行 方式来处理连接,也就是一个连接只有一个worker被唤醒,其他的处于休眠状态,设置为off后,多个worker按并行 方式来处理连接,也就是一个连接会唤醒所有的worker,直到连接分配完毕,没有取得连接的继续休眠。当你的服 务器连接数不多时,开启这个参数会让负载有一定的降低,但是当服务器的吞吐量很大时,为了效率,可以关闭这个参数。
        multi_accept on;
    }

http
    {
        include       mime.types;
		#include luawaf.conf;

		include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        #客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过 1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。分页大小可以用命令getconf PAGESIZE取得。
        client_header_buffer_size 4K; 
        large_client_header_buffers 4 32k;
        client_max_body_size 50m; #上传文件大小限制。
        

        #开启高效文件传输模式。
        sendfile   on;
        #需要在sendfile开启模式才有效,防止网络阻塞,级级的减少网络报文段的数量。将响应头和正文的开始部分一起发送,而不是一个接一个的发送(也就是说数据包不会马上传出等到数据包最大时一次性传)
        tcp_nopush on;

        #客户端连接保持会话超时时间,超过这个时间,服务器断开这个链接。
        keepalive_timeout 60;
        #也是防止网络阻塞,不过要包涵在keepalived参数才有效。
        tcp_nodelay on; 
        

        #这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive 是指经过多长时间文件没被请求后删除缓存。
        open_file_cache max=102400 inactive=20s;
        #这个是指多长时间检查一次缓存的有效信息。
        open_file_cache_valid 30s;
        #open_file_cache指令中的inactive 参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive 时间内一次没被使用,它将被移除。
        open_file_cache_min_uses 1;

        #设置请求头的超时时间。我们也可以把这个设置低些,如果超过这个时间没有发送任何数据,nginx将返回request time out的错误
        client_header_timeout 15;
        #设置请求体的超时时间。我们也可以把这个设置低些,超过这个时间没有发送任何数据,和上面一样的错误提示。
        client_body_timeout 15;
        #告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间。
        reset_timedout_connection on;
        #响应客户端超时时间,这个超时时间仅限于两个活动之间的时间,如果超过这个时间,客户端没有任何活动,nginx关闭连接。
        send_timeout 15;
        #并不会让nginx执行的速度更快,但它可以关闭在错误页面中的nginx版本数字,这样对于安全性是有好处的。
        server_tokens off;

        #指定连接到后端FastCGI的超时时间
        fastcgi_connect_timeout 300;
        #向FastCGI传送请求的超时时间。
        fastcgi_send_timeout 300;
        #指定接收FastCGI应答的超时时间
        fastcgi_read_timeout 300;
        #指定读取FastCGI应答第一部分需要用多大的缓冲区,默认的缓冲区大小为。fastcgi_buffers指令中的每块大小,可以将这个值设置更小。
        fastcgi_buffer_size 64k;
        #指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答请求,如果一个php脚本所产生的页面大小为256KB,那么会分配4个64KB的缓冲区来缓存,如果页面大小大于256KB,那么大于256KB的部分会缓存到
        fastcgi_buffers 4 64k;

        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
        #这个指令指定是否传递4xx和5xx错误信息到客户端,或者允许nginx使用error_page处理错误信息。注:静态文件不存在会返回404页面,但是php页面则返回空白页!
		fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
                text/javascript application/javascript application/x-javascript
                text/x-json application/json application/x-web-app-manifest+json
                text/css text/plain text/x-component
                font/opentype application/x-font-ttf application/vnd.ms-fontobject
                image/x-icon;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable  "msie6";

        
        #限制用户连接数来预防DOS攻击
        limit_conn_zone $binary_remote_addr zone=perip:10m;
		limit_conn_zone $server_name zone=perserver:10m;
        #限制同一客户端ip最大并发连接数
        limit_conn perip 2;
        #限制同一server最大并发连接数
        limit_conn perserver 20;
        #限制下载速度,根据自身服务器带宽配置
        limit_rate 300k; 

        access_log off;

server
    {
        listen 888;
        server_name phpmyadmin;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;
            location ~ /tmp/ {
                return 403;
            }

        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /www/wwwlogs/access.log;
    }
include /www/server/panel/vhost/nginx/*.conf;
}

  

标签:www,log,配置文件,application,server,nginx,conf,fastcgi
From: https://www.cnblogs.com/Abner3721/p/17047664.html

相关文章

  • Nginx基础01:安装和基本使用
    背景Nginx是一个高性能的Web服务器,几乎所有的Web服务都需要使用Nginx。关于Nginx的功能特性这里不再赘述,让我们从0开始,了解Nginx的基本用法,学习它在Web服务中都有哪些应......
  • Nginx与LUA(2)
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~除了反向代理,Nginx另一个主要的功能就是「负载均衡」。所谓负载均衡,就是将请求分摊到多个服务器上执行,从而减轻单台服务器......
  • Nginx与LUA(2)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~   除了反向代理,Nginx另一个主要的功能就是「负载均衡」。所谓负载均衡,就是将请求分摊到多个服务器上执行,从而减轻......
  • Spring Boot 加载外部配置文件
    SpringBoot允许你从外部加载配置,这样的话,就可以在不同的环境中使用相同的代码。支持的外部配置源包括:Java属性文件、YAML文件、环境变量、命令行参数。用@Value注解可以......
  • Nginx 高级篇
    目录Nginx高级篇一、负载均衡1、负载均衡概述2、处理方式2.1用户手动选择2.2DNS轮询2.3四/七层负载均衡3、七层负载均衡3.1七层负载均衡指令3.1.1upstream3.1......
  • customElement包装svg的iconfont
    阿里巴巴的iconfont很好用,但是1.小项目不友好,即便你只需要一个图标,也需要建一个项目,非常冗余。2.图标修改不友好,每次都要生成新的文件或者链接。3.对一些无法访问外网的......
  • @ConfigurationProperties使用中遇到的问题
    用Spingboot的小伙伴一定用过@ConfigurationProperties注解。这个注解的作用就是将properties或这yml中配置的参数值根据key注入到配置类(JavaBean)中,然后用@Autowri......
  • SpringBoot不同环境的配置文件讲解
    前言​ 源于工作中发现项目中的的application.yml有多样的application.yml,如下图所示:​ 了解过后发现是因为测试环境和生产环境一些配置可能会有差异,比如数据库的地址、......
  • 项目已经部署到linux服务器,且启动成功,使用nginx代理后却访问不了&阿里云服务器安全组
    问题项目已经部署到linux服务器,且启动成功,端口号也有显示,使用nginx代理后却访问不了我们的项目,反复检查自己各个环节的问题,确定访问路径,端口IP映射没有问题后还是不能访......
  • nginx设置反向代理后只能通过ip+端口地址访问,不能通过域名访问 阿里云
    问题部署项目到A服务器,然后再B服务器的Nginx映射项目端口,想要通过域名访问,阿里云服务器可以通过访问A服务器IP+端口访问到项目,但是不可以用域名访问到排查nginx-t,(查看......