您的位置:首页 > 运维架构 > Nginx

nginx.conf文件配置参考

2013-10-23 15:14 246 查看
1、nginx.conf文件,配置参考

#运行用户
user nobody;
#启动进程,通常设置成和cpu的数量相等
worker_processes  1;

#全局错误日志及PID文件
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

#工作模式及连接数上限
events {
use   epoll;               #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
worker_connections  1024;  #单个后台worker process进程的最大并发链接数
# multi_accept on;
}

#http服务器
http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;
access_log    /var/log/nginx/access.log;

#设定请求头缓冲
client_header_buffer_size     4k;
large_client_header_buffers   4 16k;

#配置多个server虚拟主机
server_names_hash_bucket_size 128;

#sendfile指令指定nginx是否调用sendfile函数(zero copy) 方式来输出文件
sendfile        on;
#tcp_nopush     on;

#连接超时时间
keepalive_timeout  65;
tcp_nodelay        on;

#开启gzip压缩
gzip on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_types text/html application/x-javascript text/css application/xml;

#设定负载均衡的服务器列表
upstream mysvr {
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80   weight=1;
server 192.168.8.3:80   weight=6;
}

server {
#侦听80端口
listen  80;
#使用www.xx.com访问
server_name  www.xx.com;
#本虚拟主机的访问日志
access_log  logs/www.xx.com.access.log  main;

#默认请求
location / {
root   /root;
index  index.jsp index.html index.htm;

proxy_next_upstream http_502 http_504  error timeout invalid_header;
proxy_pass http://mysvr; 
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;       #允许客户端请求的最大单文件字节数
client_body_buffer_size 256k;    #缓冲用户端请求的最大字节数
proxy_connect_timeout 90;        #(代理连接超时)
proxy_send_timeout 90;           #(代理发送超时)
proxy_read_timeout 90;           #(代理接收超时)
proxy_buffer_size 8k;            #保存用户头信息的缓冲区大小
proxy_buffers 4 32k;             #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k;     #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k;  #设定缓存文件夹大小,大于这个值,将从upstream服务器传
}

#定义错误提示页面
error_page   500 502 503 504 /50x.html;
location = /50x.html {
root   /root;
}

#静态文件,nginx自己处理
#location ~ ^/(images|javascript|js|css|flash|media|static)/ {
#	root /var/www/virtual/htdocs;
#	#过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
#	expires 30d;
#}
#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
#location ~ \.php$ {
#	root /root;
#	fastcgi_pass  127.0.0.1:9000;
#	fastcgi_index index.php;
#	fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;
#	include fastcgi_params;
#}

#设定查看Nginx状态的地址
location /NginxStatus {
stub_status           on;
access_log            off;
auth_basic            "NginxStatus";
auth_basic_user_file  conf/htpasswd;
}

#禁止访问 .htxxx 文件
#location ~ /\.ht {
#	deny all;
#}

}
}


2、官网nginx.conf文件参考

user  www www;

worker_processes  2;

pid /var/run/nginx.pid;

#                          [ debug | info | notice | warn | error | crit ]

error_log  /var/log/nginx.error_log  info;

events {
connections   2000;

# use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
use kqueue;
}

http {

include       conf/mime.types;
default_type  application/octet-stream;

log_format main      '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';

log_format download  '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_range" "$sent_http_content_range"';

client_header_timeout  3m;
client_body_timeout    3m;
send_timeout           3m;

client_header_buffer_size    1k;
large_client_header_buffers  4 4k;

gzip on;
gzip_min_length  1100;
gzip_buffers     4 8k;
gzip_types       text/plain;

output_buffers   1 32k;
postpone_output  1460;

sendfile         on;
tcp_nopush       on;
tcp_nodelay      on;
send_lowat       12000;

keepalive_timeout  75 20;

#lingering_time     30;
#lingering_timeout  10;
#reset_timedout_connection  on;

server {
listen        one.example.com;
server_name   one.example.com  www.one.example.com;

access_log   /var/log/nginx.access_log  main;

location / {
proxy_pass         http://127.0.0.1/; proxy_redirect     off;

proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
#proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

client_max_body_size       10m;
client_body_buffer_size    128k;

client_body_temp_path      /var/nginx/client_body_temp;

proxy_connect_timeout      70;
proxy_send_timeout         90;
proxy_read_timeout         90;
proxy_send_lowat           12000;

proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 64k;

proxy_temp_path            /var/nginx/proxy_temp;

charset  koi8-r;
}

error_page  404  /404.html;

location /404.html {
root  /spool/www;

charset         on;
source_charset  koi8-r;
}

location /old_stuff/ {
rewrite   ^/old_stuff/(.*)$  /new_stuff/$1  permanent;
}

location /download/ {

valid_referers  none  blocked  server_names  *.example.com;

if ($invalid_referer) {
#rewrite   ^/   http://www.example.com/; return   403;
}

#rewrite_log  on;

# rewrite /download/*/mp3/*.any_ext to /download/*/mp3/*.mp3
rewrite ^/(download/.*)/mp3/(.*)\..*$
/$1/mp3/$2.mp3                   break;

root         /spool/www;
#autoindex    on;
access_log   /var/log/nginx-download.access_log  download;
}

location ~* \.(jpg|jpeg|gif)$ {
root         /spool/www;
access_log   off;
expires      30d;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: