Nginx.conf基础配置参数

今天把nginx的配置文件看一下,然后总结了一些基础的配置参数,拿来给大家分享,不对的地方请大家提出来,共同学习。


User        nginx;


worker_processes auto;  #设置web对外提供服务时worker进程数(进程数取决与许多因素如:cpu核数,存储数据的硬盘数量,不确定的时候可以使用cpu核数,设置为auto,系统将自动检测)


worker_rlimit_nofile 65535;  #worker进程打开最大文件数限制。如果没设置的话,这个值为操作系统的限制,即为:ulimit -n的数量)


error_log  /data/nginx/logs/error.log;  #(错误日志存放的路径)

pid /var/run/nginx.pid;  #nginxpid文件存放路径)


#Events模块

#events包含了nginx里所有处理连接的设置

events {

worker_connections 1024;

}


Http模块

http模块控制着nginx htpp处理的所有核心特性

http {

include /etc/nginx/mime.types; #(只是一个在当前文件中包含另一个文件内容的指令, 这里我们 使用它来加载一系列的mime类型)


default_type application/octet-stream; #设置文件使用默认的mime类型



log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for" '

'"$server_name" '

 '$upstream_response_time $request_time';    #($remote_addr 纪录客户端ip地址,$remote_user 纪录客户端用户名称, $request 纪录请求的URLHTTP协议,$status 纪录请求状态,$body_bytes_sent 发送给客户端的字节数,$http_referer 纪录从哪个页面链接访问过来的,$http_user_agent 记录客户端浏览器相关信息,$http_x_forwarded_for 记录转发客户端ip地址,$server_name 记录服务器名,$upstream_response_time php-cgi响应时,$requese_time 请求时间,


server_tokens off; (关闭nginx在错误页面的版本数字)

keepalive_timeout 300; #(服务器将在这个超时时间过后关闭该链接)


sendfile on; #(开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数 来输出文件)


client_header_timeout 10;

client_body_timeout 10; #(设置请求客户端头和客户端体各自的超时时间)



 reset_timeout_connection on; #(告诉nginx关闭不响应的客户端连接)


send_timeout 300; #(指定客户端响应超时时间,该参数指两次客户端读取操作之间,   如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接)


limit_conn addr 100; #(允许每个ip地址最多同时打开100个连接)


tcp_nopush; #(防止网络堵塞)

tcp_nodelay; #(防止网络堵塞)


client_max_body_size 20M; #(限制上传文件的大小)


proxy_buffer_size 4k; #(代理服务器nginx,保存用户头信息的缓冲区大小)


gzip  on; #(开启zip压缩,减少发送的数据量)

gzip_disable "msie6";#(为指定的客户端禁用gzip功能)

gzip_min_length 1k; #(设置对数据进行压缩的最小字节)

gzip_comp_level 7; #(设置压缩级别,1-99最慢但是压缩比最大)

gzip_http_version 1.1; #(指定http1.1协议进行压缩)

gzip_types text/plain application/json text/javascript application/javascript application/x-    javascript text/xml application/xml; #(指定支持的压缩类型)


upstream en_app_api {   #(负载均衡池,weight是权重,权值越高,被分配的几率就越大)

server 127.0.0.1:5400 max_fails=20 fail_timeout=2s weight=9;

server 127.0.0.1:5500 max_fails=20 fail_timeout=2s weight=9;


location /favicon.ico {  #(关闭favicon.ico日志)

       empty_gif;

       access_log off;

       }


proxy_set_header Host $http_host; #(host含义表明请求的主机名)

proxy_set_header X-Real-IP $remote_addr; #(请求头可以通过的类型)

proxy_set_header X-Scheme $scheme;


proxy_connect_timeout 120s; #(nginx跟后端服务器连接超时时间)

       proxy_read_timeout; #(连接成功后,后端服务器响应时间(代理接受超时))



       location ~ /ena5/ { #(使用正则表达式)

           rewrite "^/en[a-z0-9]{2}/(.*)$" /$1 break; #(匹配成功一个就不在匹配)

           proxy_pass http://en_app_api; #(后面跟`/`为绝对路径 不跟`/`为相对路径,     相对路径下,后面需要跟localtion后面的字符串)

       }


    location /qpk_ngx_status #(设置查看nginx状态地址)

    {

           stub_status on;

           access_log off;

           allow 201.33.21.xx;

           allow201.33.43.xx;

           allow 127.0.0.1;

           deny all;

           #allow all;

     }

}




你可能感兴趣的:(Nginx.conf基础配置参数)