一个完整配置例nginx.conf,生产环境中使用

一个完整的nginx配置案例,生产环境

  1. 一个完整配置例(生产环境中使用)

  2. user nobody nobody;

  3. worker_processes 4;

  4. worker_rlimit_nofile 51200;

  5. error_log logs/error.log notice;

  6. pid /var/run/nginx.pid;

  7. events {

  8. use epoll;

  9. worker_connections 51200;

  10. }

  11. http {

  12. server_tokens off;

  13. include mime.types;

  14. proxy_redirect off;

  15. proxy_set_header Host $host;

  16. proxy_set_header X-Real-IP $remote_addr;

  17. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  18. client_max_body_size 20m;

  19. client_body_buffer_size 256k;

  20. proxy_connect_timeout 90;

  21. proxy_send_timeout 90;

  22. proxy_read_timeout 90;

  23. proxy_buffer_size 128k;

  24. proxy_buffers 4 64k;

  25. proxy_busy_buffers_size 128k;

  26. proxy_temp_file_write_size 128k;

  27. default_type application/octet-stream;

  28. charset utf-8;

  29. client_body_temp_path /var/tmp/client_body_temp 1 2;

  30. proxy_temp_path /var/tmp/proxy_temp 1 2;

  31. fastcgi_temp_path /var/tmp/fastcgi_temp 1 2;

  32. uwsgi_temp_path /var/tmp/uwsgi_temp 1 2;

  33. scgi_temp_path /var/tmp/scgi_temp 1 2;

  34. ignore_invalid_headers on;

  35. server_names_hash_max_size 256;

  36. server_names_hash_bucket_size 64;

  37. client_header_buffer_size 8k;

  38. large_client_header_buffers 4 32k;

  39. connection_pool_size 256;

  40. request_pool_size 64k;

  41. output_buffers 2 128k;

  42. postpone_output 1460;

  43. client_header_timeout 1m;

  44. client_body_timeout 3m;

  45. send_timeout 3m;

  46. log_format main '$server_addr $remote_addr [$time_local] $msec+$connection '

  47. '"$request" $status $connection $request_time $body_bytes_sent "$http_referer" '

  48. '"$http_user_agent" "$http_x_forwarded_for"';

  49. open_log_file_cache max=1000 inactive=20s min_uses=1 valid=1m;

  50. access_log logs/access.log main;

  51. log_not_found on;

  52. sendfile on;

  53. tcp_nodelay on;

  54. tcp_nopush off;

  55. reset_timedout_connection on;

  56. keepalive_timeout 10 5;

  57. keepalive_requests 100;

  58. gzip on;

  59. gzip_http_version 1.1;

  60. gzip_vary on;

  61. gzip_proxied any;

  62. gzip_min_length 1024;

  63. gzip_comp_level 6;

  64. gzip_buffers 16 8k;

  65. gzip_proxied expired no-cache no-store private auth no_last_modified no_etag;

  66. gzip_types text/plain application/x-javascript text/css application/xml application/json;

  67. gzip_disable "MSIE [1-6]\.(?!.*SV1)";

  68. upstream tomcat8080 {

  69. ip_hash;

  70. server 172.16.100.103:8080 weight=1 max_fails=2;

  71. server 172.16.100.104:8080 weight=1 max_fails=2;

  72. server 172.16.100.105:8080 weight=1 max_fails=2;

  73. }

  74. server {

  75. listen 80;

  76. server_name www.magedu.com;

  77. # config_apps_begin

  78. root /data/webapps/htdocs;

  79. access_log /var/logs/webapp.access.log main;

  80. error_log /var/logs/webapp.error.log notice;

  81. location / {

  82. location ~* ^.*/favicon.ico$ {

  83. root /data/webapps;

  84. expires 180d;

  85. break;

  86. }

  87. if ( !-f $request_filename ) {

  88. proxy_pass http://tomcat8080;

  89. break;

  90. }

  91. }

  92. error_page 500 502 503 504 /50x.html;

  93. location = /50x.html {

  94. root html;

  95. }

  96. }

  97. server {

  98. listen 8088;

  99. server_name nginx_status;

  100. location / {

  101. access_log off;

  102. deny all;

  103. return 503;

  104. }

  105. location /status {

  106. stub_status on;

  107. access_log off;

  108. allow 127.0.0.1;

  109. allow 172.16.100.71;

  110. deny all;

  111. }

  112. }

  113. }