1. 程式人生 > >[Linux][Nginx]Config

[Linux][Nginx]Config

length 所屬組 linux pat reverse nbsp head conf tex

#================================以下是全局配置項

#運行nginx的所屬組和所有者

user nginx nginx;

#開啟4個nginx 工作進程

worker_processes 4;

worker_rlimit_nofile 65535;

events {

#連接規則

use epoll;

#每個進程可建立的連接數

worker_connections 65535;

}

#================================以上是全局配置項

http {

#================================以下是Nginx後端服務配置項

# upstream backendserver1 {

# nginx向後端服務器分配請求任務的方式,默認為輪詢;如果指定了ip_hash,就是hash算法(上文介紹的算法內容)

# ip_hash

# 後端服務器 ip:port ,如果有多個服務節點,這裏就配置多個

# server 192.168.220.131:8080;

# server 192.168.220.132:8080;

# backup表示,這個是一個備份節點,只有當所有節點失效後,nginx才會往這個節點分配請求任務

# server 192.168.220.133:8080 backup;

# weight,固定權重,還記得我們上文提到的加權輪詢方式吧。

# server 192.168.220.134:8080 weight=100;

#}

#================================以上是Nginx後端服務配置項

#啟用錯誤跳轉

fastcgi_intercept_errors on;

#=================================================以下是 http 協議主配置

#導入模板文件

include mime.types;

#默認類型為二進制流

default_type application/octet-stream;

#send file規則開啟

sendfile on;

#連接的等待時間

keepalive_timeout 120;

#隱藏版本號

server_tokens off;

#開啟gzip壓縮服務,

gzip on;

#gzip壓縮是要申請臨時內存空間的,假設前提是壓縮後大小是小於等於壓縮前的。例如,如果原始文件大小為10K,那麽它超過了8K,所以分配的內存是8 * 2 = 16K;再例如,原始文件大小為18K,很明顯16K也是不夠的,那麽按照 8 * 2 * 2 = 32K的大小申請內存。如果沒有設置,默認值是申請跟原始數據相同大小的內存空間去存儲gzip壓縮結果。

gzip_buffers 2 8k;

#進行壓縮的原始文件的最小大小值,也就是說如果原始文件小於5K,那麽就不會進行壓縮了

gzip_min_length 5K;

#gzip壓縮基於的http協議版本,默認就是HTTP 1.1

gzip_http_version 1.1;

# gzip壓縮級別1-9,級別越高壓縮率越大,壓縮時間也就越長CPU越高

gzip_comp_level 5;

#需要進行gzip壓縮的Content-Type的Header的類型。建議js、text、css、xml、json都要進行壓縮;圖片就沒必要了,gif、jpge文件已經壓縮得很好了,就算再壓,效果也不好,而且還耗費cpu。

gzip_types text/HTML text/plain application/x-javascript text/css application/xml;

tcp_nopush on;

client_body_timeout 3m;

send_timeout 3m;

client_max_body_size 50m;

client_body_buffer_size 256k;

client_header_timeout 3m;

proxy_connect_timeout 300s;

proxy_read_timeout 300s;

proxy_send_timeout 300s;

proxy_buffer_size 64k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;

proxy_ignore_client_abort on;

proxy_cache_path /var/cache/nginx/proxy levels=1:2 keys_zone=backcache:2000m max_size=4000m;

proxy_cache_key "$scheme$request_method$host$request_uri$is_args$args";

proxy_cache_valid 200 302 10m;

proxy_cache_valid 404 1h;

proxy_cache_valid any 1m;

#=================================================以上是 http 協議主配置

#=================================================以下是一個服務實例的配置

# server {

#

# #監聽端口

# listen 80;

# #實例名

# #server_name t-bj-apache-01;

# server_name nginx.teld.cn;

# return 301 https://$server_name$request_uri;

# }

# server {

# #監聽端口

# #listen 8080;

# listen 443;

# #實例名

# #server_name t-bj-apache-01;

# server_name nginx.teld.cn;

#

#

# #location將按照規則分流滿足條件的URL,"location /"您可以理解為“默認分流位置”

# location / {

# #root目錄/etc/nginx/html

# root /var/www/html;

# #默認頁面

# index index.html index.htm;

# # 開啟目錄瀏覽功能

# autoindex on;

# # 關閉詳細文件大小統計,讓文件大小顯示MB,GB單位,默認為b

# autoindex_exact_size off;

# # 開啟以服務器本地時區顯示文件修改日期

# autoindex_localtime on;

# }

#

# #location支持正則表達式,“~” 表示匹配正則表達式。

# #location ~ ^/business/ {

# #反向代理。

# #proxy_pass http://backendserver1;

# #}

# #ssl

# ssl on;

# ssl_certificate /etc/nginx/conf/1_.teld.cn_bundle.crt;

# ssl_certificate_key /etc/nginx/conf/2_.teld.cn.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

# ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;

# error_page 500 502 503 504 /50x.html;

# location = /50x.html {

# root html;

#

#

#

# }

# }

# #include reverse-proxy.conf;

# server {

# listen 80 default_server;

# server_name _;

# return 404;

# }

include /etc/nginx/conf.d/*.conf;

}

[Linux][Nginx]Config