nginx.conf配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
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;
}

  

posted @   Abner3721  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示