Nginx乾貨(二)配置詳解

此篇就不矯情了。直接上個配置吧。之後如有更新,繼續修補linux

  • /usr/local/nginx/conf目錄下面的nginx.conf文件
以用戶nginx的身份來運行
user nginx;
啓動進程,一般設置成和cpu數量相等
worker_processes  10;
全局錯誤日誌
error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
Pid文件存放路徑
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服務器
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;
}
  • /usr/local/nginx/conf.d目錄(注,此目錄是小軒本身建立的喲

a.conf文件

代理tomcat

upstream tomcat-servers {
# weight表明權重的意思,當前配置也是一個代理tomcat集羣的配置,當前使用的方式是權重方式,除此以外還有輪詢的方式還有基於ip分配等多種方式。
server 192.168.1.11:8080 weight 1;
server 192.168.1.12:8080 weight 6;
}nginx

server配置
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";
    }
}
相關文章
相關標籤/搜索