title: Nginx配置文件详解
tags:
- Linux
- Nginx
categories: - 运维
date: 2019-06-25
完整示例
# 使用的用户和组user www www;# 指定工作衍生进程数worker_processes 2;# 指定pid存放的路径,进程文件pid /var/run/nginx.pid;# [ debug | info | notice | warn | error | crit ]# 可以在下方直接使用 [debug | info | notice | warn | error | crit] 参数,日志级别,全局错误日志定义类型error_log /var/log/nginx.error_log info;events {# 允许的连接数(单个进程最大连接数,最大连接数=连接数*进程数)worker_connections 2000;# use [ kqueue | epoll | /dev/poll | select | poll ];# 参考事件模型,epoll模型是Linux2.6以上版本内核中高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型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;}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/*.mp3rewrite ^/(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;}}}
