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

时间:2022-03-24 17:58:00

一个完整的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. }