此篇就不矯情了。直接上個配置吧。之後如有更新,繼續修補linux
user nginx;
worker_processes 10;
error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info;
pid /var/run/nginx.pid;
events { # epoll是多路複用IO(I/O Multiplexing)中的一種方式 支持linux2.6以上內核 use epoll; # 單個後臺worker process進程最大併發鏈接數 worker_connections 1024; # 優化同一時刻只有一個請求而避免多個睡眠進程被喚醒的設置,on爲防止被同時喚醒,默認爲off,所以nginx剛安裝完之後要進行適當的優化。 accept_mutex on; # 打開同時接受多個新網絡鏈接請求的功能。 multi_accept on; }
http { # 隱藏nginx版本號 server_tokens off; # 文件擴展名與文件類型映射表 include mime.types; # 默認文件類型 default_type application/octet-stream; # 設置日誌格式 access_log /var/log/nginx/access.log; # 請求體最大容量 client_max_body_size 500M; # 開啓高效文件傳輸模式 sendfile on; # 長鏈接超時時間 單位秒 keepalive_timeout 65; # 開啓gzip壓縮 gzip on; # 設定請求緩衝 client_header_buffer_size 1k; large_client_header_buffers 4 4k; # 引入外部配置文件 include /usr/local/nginx/conf/conf.d/*.conf; # FastCGI相關參數是爲了改善網站的性能:減小資源佔用,提升訪問速度。 fastcgi_connect_timeout 900; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 128k; fastcgi_buffers 2 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; }
upstream tomcat-servers {
# weight表明權重的意思,當前配置也是一個代理tomcat集羣的配置,當前使用的方式是權重方式,除此以外還有輪詢的方式還有基於ip分配等多種方式。
server 192.168.1.11:8080 weight 1;
server 192.168.1.12:8080 weight 6;
}nginx
server { # 端口監聽 listen 80; # 基於域名的方式分配虛擬主機 server_name xxxxxxxxx.com; # 攔截路徑 location /HanYiAPP_SystemManage { # 注意若是這裏項目的context-path不爲"/"則「http://tomcat-servers/project」 project爲項目的context-path proxy_pass http://tomcat-servers; proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; # 容災處理 proxy_next_upstream http_502 http_504 error timeout invalid_header; #nginx跟後端服務器鏈接超時時間(代理鏈接超時) proxy_connect_timeout 600; #鏈接成功後,後端服務器響應時間(代理接收超時) proxy_read_timeout 600; #後端服務器數據回傳時間(代理髮送超時) proxy_send_timeout 600; #設置代理服務器(nginx)保存用戶頭信息的緩衝區大小 proxy_buffer_size 32k; #proxy_buffers緩衝區,網頁平均在32k如下的話,這樣設置 proxy_buffers 4 32k; #高負荷下緩衝大小(proxy_buffers*2) proxy_busy_buffers_size 64k; #設定緩存文件夾大小,大於這個值,將從upstream服務器傳 proxy_temp_file_write_size 64k; } #文件服務器 location /file { # 容許跨域請求。全部鏈接均可跨域 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; # 文件服務器根目錄 root /home/public/hart_file; #是否能夠訪問目錄下內容 autoindex on; # 是否展現真實文件大小 on:展現真實大小bytes autoindex_exact_size off; #是否展現文件時間爲GMT時間 on : 文件服務器時間 autoindex_localtime on; add_header Cache-Control "no-cache, must-revalidate"; } }