先贴一份nginx的主配置文件的样例
user www-data; worker_processes 8; pid /run/nginx.pid; worker_rlimit_nofile 100000; events { worker_connections 4000; multi_accept on; use epoll; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; send_timeout 30; reset_timedout_connection on; # limit_conn addr 100; types_hash_max_size 2048; server_tokens off; client_max_body_size 100M; # server_names_hash_bucket_size 64; # server_name_in_redirect off; proxy_buffer_size 16k; proxy_buffers 8 16k; proxy_max_temp_file_size 0; # logFormat log_format selfFormat '[$time_local] | $host | $http_x_real_ip | $remote_addr | $request | $request_time | $body_bytes_sent | $status | $upstream_addr | $upstream_response_time | $upstream_status | $http_referer | $http_user_agent'; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; #access_log off; error_log /var/log/nginx/error.log crit; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 8; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript; gzip_vary on; gzip_disable "MSIE [1-6]\."; ## # Virtual Host Configs ## include /etc/nginx/blockip.conf; include /etc/nginx/conf.d/*.conf; }可以看到上面的文件里包含几部分:
user www-data; worker_processes 8; pid /run/nginx.pid; worker_rlimit_nofile 100000; events {} http {}这几个基本配置的意思是这样的
user : 表示nginx是以哪个用户身份运行的 worker_processes : 表示work进程的个数 pid : 表示nginx运行的进程的ID worker_rlimit_nofile : 这个指令是指一个nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文 件数(ulimit -n)与nginx 进程数相除,但是nginx 分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 events {} : 事件驱动模型 http {} : 配置响应http请求的部分