一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

使用nginx的proxy

 xfxyxh 2017-05-22
  

為什么要做web cache,我想大家最主要的是解決流量的壓力。隨著網(wǎng)站流量的提升,如果只是單臺(tái)機(jī)器既處理靜態(tài)文件,又處理動(dòng)態(tài)腳本,顯然效率很難上升,不能處理日益上漲的流量壓力。與此同時(shí)某些網(wǎng)站的頁面內(nèi)容并不是經(jīng)常變化,因此我們可以分兩層架構(gòu)來組織網(wǎng)站。前端web緩存+后端web服務(wù)器,可以參看這里配置nginx反向代理配置

前端web緩存有多重方式實(shí)現(xiàn),原理就是隊(duì)請求結(jié)果頁面靜態(tài)化并設(shè)置一個(gè)超時(shí)期限,緩存頁面過期后,新請求到達(dá)時(shí)重新到后端web服務(wù)器獲取內(nèi)容更新;沒有nginx前比較流行的方法是squid,但squid不能充分利用處理器的多核特性,越來越多的網(wǎng)站選用nginx來做前端的web緩存。

要想使用nginx的緩存功能要保證nginx添加了proxy模塊。我們可以使用-V選項(xiàng)(大寫的V,小寫的v是看版本號(hào)的)來查看nginx的編譯參數(shù)。我使用的是默認(rèn)的參數(shù)編譯的,如下所示:

root@SNDA-172-17-12-117:/usr/local/nginx# ./nginx -V
nginx version: nginx/1.2.3
built by gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
TLS SNI support enabled
configure arguments: --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.21 --with-zlib=/usr/local/src/zlib-1.2.7

nginx的所有模塊必須在編譯的時(shí)候添加,不能再運(yùn)行的時(shí)候動(dòng)態(tài)加載,默認(rèn)的編譯選項(xiàng)下包含的模塊,如果你不是顯示的用參數(shù)關(guān)閉它。

nginx默認(rèn)安裝的模塊如下

模塊名稱 描述 版本 如何禁用
Core Control ports, locations, error pages, aliases, and other essentials. --without-http
Access Allow/deny based on IP address. --without-http_access_module
Auth Basic Basic HTTP authentication. --without-http_auth_basic_module
Auto Index Generates automatic directory listings. --without-http_autoindex_module
Browser Interpret "User-Agent" string. 0.4.3 --without-http_browser_module
Charset Recode web pages. --without-http_charset_module
Empty GIF Serve a 1x1 image from memory. 0.3.10 --without-http_empty_gif_module
FastCGI FastCGI Support. --without-http_fastcgi_module
Geo Set config variables using key/value pairs of IP addresses. 0.1.17 --without-http_geo_module
Gzip Gzip responses. --without-http_gzip_module
Headers Set arbitrary HTTP response headers.
Index Controls which files are to be used as index.
Limit Requests Limit frequency of connections from a client. 0.7.20 --without-http_limit_req_module
Limit Zone Limit simultaneous connections from a client. Deprecated in 1.1.8, use Limit Conn Instead. 0.5.6 --without-http_limit_zone_module
Limit Conn Limit concurrent connections based on a variable. --without-http_limit_conn_module
Log Customize access logs.
Map Set config variables using arbitrary key/value pairs. 0.3.16 --without-http_map_module
Memcached Memcached support. --without-http_memcached_module
Proxy Proxy to upstream servers. --without-http_proxy_module
Referer Filter requests based on Referer header. --without-http_referer_module
Rewrite Request rewriting using regular s. --without-http_rewrite_module
SCGI SCGI protocol support. 0.8.42 --without-http_scgi_module
Split Clients Splits clients based on some conditions 0.8.37 --without-http_split_clients_module
SSI Server-side includes. --without-http_ssi_module
Upstream For load-balancing. --without-http_upstream_ip_hash_module (ip_hash directive only)
User ID Issue identifying cookies. --without-http_userid_module
uWSGI uWSGI protocol support. 0.8.40 --without-http_uwsgi_module
X-Accel X-Sendfile-like module.

proxy模塊中常用的指令時(shí)proxy_pass和proxy_cache.

nginx的web緩存功能的主要是由proxy_cache、fastcgi_cache指令集和相關(guān)指令集完成,proxy_cache指令負(fù)責(zé)反向代理緩存后端服務(wù)器的靜態(tài)內(nèi)容,fastcgi_cache主要用來處理FastCGI動(dòng)態(tài)進(jìn)程緩存(這里我不是很清楚這兩個(gè)指令的區(qū)別,好像功能上都差不多,尤其后面這句話的意思,是我翻譯過來的)。

確認(rèn)proxy模塊安裝好后,下面對nginx的配置文件進(jìn)行設(shè)置,重點(diǎn)部分如標(biāo)紅字體所示。

這是我的nginx.conf配置文件。

user www-data;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;
events {
worker_connections 1024;
}
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" "$host"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#Compression Settings
gzip on;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# Some version of IE 6 don't handle compression well on some mime-types,
# so just disable for them
gzip_disable "MSIE [1-6].(?!.*SV1)";
# Set a vary header so downstream proxies don't send cached gzipped
# content to IE6
gzip_vary on;
#end gzip

#cache begin
proxy_buffering on;
proxy_cache_valid any 10m;
proxy_cache_path /data/cache levels=1:2 keys_zone=my-cache:8m max_size=1000m inactive=600m;
proxy_temp_path /data/temp;
proxy_buffer_size 4k;
proxy_buffers 100 8k;
#cache end

## Basic reverse proxy server ##
## Apache (vm02) backend for www.example.com ##
upstream apachephp {
server www.quancha.cn:8080; #Apache1
}

## Start www.quancha.cn ##
server {
listen 80;
server_name *.quancha.cn;

access_log logs/quancha.access.log main;
error_log logs/quancha.error.log;
root html;
index index.html index.htm index.php;

## send request back to apache1 ##
location / {
proxy_pass http://apachephp;
proxy_cache my-cache;
proxy_cache_valid 200;

#Proxy Settings
proxy_redirect off;
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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
##End Proxy Settings
}
}
## End www.quancha.cn ##

}

配置文件中以proxy_開頭的指令我們大都可以字面意思得到理解。請務(wù)必注意一點(diǎn)proxy_cache_path和proxy_temp_path設(shè)置的目錄需要在同一分區(qū),因?yàn)樗鼈冎g是硬鏈接的關(guān)系。

最后啟動(dòng)nginx,來迎接著激動(dòng)人心的時(shí)刻吧。我已經(jīng)迫不及待了。如果文章哪里有問題或者你遇到了什么麻煩,可以留言讓我知道。

除非注明,本站文章均為: 原創(chuàng),轉(zhuǎn)載請注明本文地址: http://www./414.html

--完--

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    色婷婷在线精品国自产拍| 亚洲欧美日韩国产综合在线| 国产大屁股喷水在线观看视频 | av一区二区三区天堂| 久久精品国产亚洲av久按摩| 激情五月激情婷婷丁香| 人妻熟女欲求不满一区二区| 国产一区二区三区免费福利| 日本少妇三级三级三级| 成年女人下边潮喷毛片免费| 亚洲精品国产精品日韩| 精品一区二区三区三级视频| 久热在线视频这里只有精品| 国产精品内射视频免费| 日韩欧美二区中文字幕| 久久国产亚洲精品成人| 亚洲国产婷婷六月丁香| 五月激情综合在线视频| 精品欧美日韩一二三区| 精品国产亚洲免费91| 欧美乱码精品一区二区三| 人体偷拍一区二区三区| 免费特黄一级一区二区三区| 又色又爽又无遮挡的视频| 中文字幕久热精品视频在线| 日本人妻的诱惑在线观看| 黄色在线免费高清观看| 欧美日本精品视频在线观看| 九九热最新视频免费观看| 日本高清视频在线播放| 精品视频一区二区三区不卡| 99热九九热这里只有精品| 日韩欧美国产精品自拍| 久久黄片免费播放大全| 欧美亚洲国产日韩一区二区| 欧美成人国产精品高清| 欧美黑人精品一区二区在线| 久久精品国产第一区二区三区| 五月婷日韩中文字幕四虎| 久久经典一区二区三区| 欧美成人精品一区二区久久|