史上最全的Nginx配置参数中文说明

#定义Nginx运行的用户和用户组

user www www;

#

#nginx进程数,建议设置为等于CPU总核心数.

worker_processes 8 ;

#

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

error_log /var/log/nginx/error.log info ;

#

#进程文件

pid /var/run/nginx.pid;

#

worker_rlimit_nofile 65535 ;

#

#工作模式与连接数上限

events

{

use epoll ;

#单个进程最大连接数(最大连接数=连接数*进程数)

worker_connections 65535 ;

}

#

#设定http服务器

http

{

include mime.types; #文件扩展名与文件类型映射表

default_type application/octet-stream; #默认文件类型

#charset utf-8; #默认编码

server_names_hash_bucket_size 128 ; #服务器名字的hash表大小

client_header_buffer_size 32k ; #上传文件大小限制

large_client_header_buffers 4 64k ; #设定请求缓

client_max_body_size 8m ; #设定请求缓

# 开启目录列表访问,合适下载服务器,默认关闭.

autoindex on ; # 显示目录

autoindex_exact_size on ;

autoindex_localtime on ;

sendfile on ;

tcp_nopush on ; # 防止网络阻塞

tcp_nodelay on ; # 防止网络阻塞

keepalive_timeout 120 ;

fastcgi_connect_timeout 300 ;

fastcgi_send_timeout 300 ;

fastcgi_read_timeout 300 ;

fastcgi_buffer_size 64k ;

fastcgi_buffers 4 64k ;

fastcgi_busy_buffers_size 128k ;

fastcgi_temp_file_write_size 128k ;

# gzip模块设置

gzip on ; #开启gzip压缩输出

gzip_min_length 1k ;

gzip_buffers 4 16k ;

gzip_http_version 1 . 1 ;

gzip_comp_level 2 ;

gzip_types text/plain application/x-javascript text/css application/xml;

gzip_vary on ;

#开启限制IP连接数的时候需要使用

#limit_zone crawler $binary_remote_addr 10m;

##upstream的负载均衡,四种调度算法(下例主讲)##

#虚拟主机的配置

server

{

# 监听端口

listen 80 ;

# 域名可以有多个,用空格隔开

server_name ably.com;

# HTTP 自动跳转 HTTPS

rewrite  ^(.*) https:// $server_name $1 permanent ;

}

server

{

# 监听端口 HTTPS

listen 443 ssl;

server_name ably.com;

# 配置域名证书

ssl_certificate C:\WebServer\Certs\certificate.crt;

ssl_certificate_key C:\WebServer\Certs\private.key;

ssl_session_cache shared:SSL: 1m ;

ssl_session_timeout 5m ;

ssl_protocols SSLv2 SSLv3 TLSv1;

ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

ssl_prefer_server_ciphers on ;

index index.html index.htm index.php;

root /data/www/;

location ~ .*\.(php|php5)?$

{

fastcgi_pass 127.0.0.1:9000 ;

fastcgi_index index.php;

include fastcgi.conf;

}

# 配置地址拦截转发,解决跨域验证问题

location /oauth/{

proxy_pass https://localhost:13580/oauth/;

proxy_set_header HOST $host ;

proxy_set_header X-Real-IP $remote_addr ;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;

}

# 图片缓存时间设置

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

expires 10d ;

}

# JS和CSS缓存时间设置

location ~ .*\.(js|css)?$ {

expires 1h ;

}

# 日志格式设定

log_format access $remote_addr  – $remote_user  [ $time_local ] ” $request ” ‘

$status $body_bytes_sent$http_referer ” ‘

‘” $http_user_agent$http_x_forwarded_for ;

# 定义本虚拟主机的访问日志

access_log /var/log/nginx/access.log access;

location /NginxStatus {

stub_status on ;

access_log on ;

auth_basic “NginxStatus” ;

auth_basic_user_file conf/htpasswd;

#htpasswd文件的内容可以用apache提供的htpasswd工具来产生.

}

}

}