本篇博客參考了網絡上的一些博文,並結合本身的使用經驗和理解,現把nginx的配置文件的參數說明下javascript
use nginx nginx; #運行nginx進程的用戶和組css
worker_processes 1; #nginx worker進程數,建議爲cpu總核心數或者總核心數減1html
error_log logs/error.log info; #全局錯誤日誌設置前端
pid logs/nginx.pid; #設定nginx pid文件java
events {nginx
use epoll; #設置nginx I/O模型服務器
worker_connections 1024; #單個進程最大鏈接數網絡
}app
http {負載均衡
include mime.types; # 文件擴展名與文件類型映射表
default_type application/octet-stream; #默認文件類型
log_format main '$remote_addr - $remote_user [$time_local] "$request" '; #日誌格式
access_log logs/access.log main;
charset utf-8; #默認編碼
server_names_hash_bucket_size 128; #服務器名字的hash表大小
client_header_buffer_size 32k; #上傳文件大小限制
large_client_header_buffers 4 64k; #設定請求緩衝大小
client_max_body_size 8m; #設定請求緩衝大小
sendfile on; #開啓高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出 文件,對於普通應用設爲 on,若是用來進行下載等應用磁盤IO重負載應用,可設置爲off,以平衡 磁盤與網絡I/O處理速度,下降系統的負載。注意:若是圖片顯示不正常把這個改爲off
tcp_nopush on; #防止網絡阻塞
keepalive_timeout 65; #長鏈接超時時長,單位爲秒
#FastCGI相關參數是爲了改善網站的性能,減小資源佔用,提升訪問速度
fastcgi_connect_timeout 300; #fastcgi鏈接超時時長
fastcgi_send_timeout 300; #fastcgi發送請求超時時長
fastcgi_read_timeout 300; #fastcgi讀取響應超時時長
fastcgi_buffer_size 64k; #讀取響應第一部分緩衝大小
fastcgi_buffers 4 64k; #讀取響應緩衝大小
fastcgi_busy_buffers_size 128k; #不知道怎麼翻譯
fastcgi_temp_file_write_size 128k; #數據寫入臨時文件的大小
gzip on; #開啓gzip壓縮功能
gzip_min_length 1k; #最小壓縮文件大小
gzip_buffers 4 16k; #壓縮緩衝區
gzip_http_version 1.0; #壓縮版本(默認1.1,前端若是是squid2.5請使用1.0)
gzip_comp_level 2; #壓縮等級
gzip_types text/plain application/x-javascript text/css application/xml; #壓縮類型
gzip_vary on; #啓用插入不一樣編碼響應首部
#定義uptream 負載均衡
upstream test {
server 192.168.1.2:80 weigth=1; #weight表示權重
server 192.168.1.3:80 weight=2;
}
#定義虛擬主機
server {
listen 80; #監聽端口
server_name localhost; #主機名
location / {
root html; #文檔路徑
index index.html index.htm; #默認主頁面
}
location /NginxStatus { #定義nginx狀態頁
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file confpasswd;
}
location ~ .(jsp|jspx|do)?$ { #動靜內容分離
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://test; #動態內容所有由upstream主機處理
}
location ~ .*. #靜態內容由nginx處理 (htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
{
expires 15d;
}
location ~ .*.(js|css)?$
{
expires 1h;
}
}