1. 程式人生 > >nginx搭建檔案伺服器

nginx搭建檔案伺服器

安裝省略,直接貼配置檔案:

#Nginx開啟的程序數
worker_processes  4;

#定義全域性錯誤日誌定義型別,[debug|info|notice|warn|crit]
error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#指定程序ID儲存檔案位置
#pid        logs/nginx.pid;

#一個nginx程序開啟的最多檔案描述符數目,理論值應該是最多開啟檔案數(ulimit -n)與nginx程序數相除,但是nginx分配請求並不是那麼均勻,所以最好與ulimit -n的值保持一致
worker_rlimit_nofile 65535; events { #注意:最大客戶數也由系統的可用socket連線數限制(~ 64K) worker_connections 5120; } http { #副檔名與檔案型別對映表 include mime.types; #預設檔案型別 default_type application/octet-stream; #日誌相關定義 #log_format main '$remote_addr - $remote_user [$time_local] "$request"'
'$status $body_bytes_sent "$http_referer"' '"$http_user_agent" "$http_x_forwarded_for"'; #定義日誌的格式。後面定義要輸出的內容 #1.$remote_addr 與$http_x_forwarded_for 用以記錄客戶端的ip地址; #2.$remote_user :用來記錄客戶端使用者名稱稱; #3.$time_local :用來記錄訪問時間與時區 #4.$request :用來記錄請求的url與http協議 #5.$status :用來記錄請求狀態
#6.$body_bytes_sent :記錄傳送給客戶端檔案主體內容大小 #7.$http_referer :用來記錄從那個頁面連結訪問過來的 #8.$http_user_agent :記錄客戶端瀏覽器的相關資訊 #連線日誌的路徑,指定的日誌格式放在最後 #access_log logs/access.log main; #只記錄更為嚴重的錯誤日誌,減少IO壓力 #error_log logs/error.log crit; #關閉日誌 #access_log off; #預設編碼 charset utf-8; #伺服器名字的hash表大小 #server_names_hash_bucket_size 128; #客戶端請求單個檔案的最大位元組數 #client_max_body_size 8m; #指定來自客戶端請求頭的hearerbuffer大小 #client_header_buffer_size 32k; #指定客戶端請求中較大的訊息頭的快取最大數量和大小 #large_client_header_buffers 4 64k; #開啟高效傳輸模式 sendfile on; #防止網路阻塞 #tcp_nopush on; #客戶端連線超時時間,單位是秒 keepalive_timeout 120; #客戶端請求頭讀取超時時間 #client_header_timeout 10; #設定客戶端請求主體讀取超時時間 #client_body_timeout 10; #響應客戶端超時時間 #send_timeout 10; #開啟gzip壓縮輸出 #gzip on; #最小壓縮檔案大小 #gzip_min_length 1k; #壓縮緩衝區 #gzip_buffers 4 16k; #壓縮版本(預設1.1,前端如果是squid2.5請使用1.0) #gzip_http_version 1.0; #壓縮等級 1-9 等級越高,壓縮效果越好,節約寬頻,但CPU消耗大 #gzip_comp_level 2; #虛擬主機定義 server { listen 80; server_name localhost; #編碼格式,若網頁格式與此不同,將被自動轉碼 #charset utf-8; #虛擬主機訪問日誌定義 #access_log logs/host.access.log main; #對URL進行匹配 location / { #訪問路徑,可相對也可絕對路徑 root /usr/local/nginx/html; autoindex on; autoindex_exact_size on; autoindex_localtime on; } } }