• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Nginx服務(wù)器“秘籍”

      2018-05-25 07:37:39劉旻昊
      中國傳媒科技 2018年4期
      關(guān)鍵詞:鑒權(quán)秘籍限流

      文/劉旻昊

      新采編發(fā)系統(tǒng)是由新華社技術(shù)局主持研發(fā),服務(wù)于新華社全社新聞采編報(bào)道日常業(yè)務(wù)的新一代新聞采編系統(tǒng),是2016年實(shí)施的新華全媒工程的重要組成,該系統(tǒng)提供信息匯聚、報(bào)道策劃、全媒生產(chǎn)、產(chǎn)品發(fā)布等四大類主要功能。面對業(yè)務(wù)需求變化快、運(yùn)維工作日趨復(fù)雜、IT運(yùn)維技術(shù)換代快等挑戰(zhàn),按照“要遵循新聞傳播規(guī)律和新興媒體發(fā)展規(guī)律,運(yùn)用互聯(lián)網(wǎng)技術(shù)體系,提升技術(shù)人員對先進(jìn)技術(shù)的自主掌控能力”的。

      這就是新華全媒工程選擇Nginx作為Web服務(wù)器的主要原因。作為一個(gè)草根出身的軟件,Nginx在業(yè)界的鼎鼎大名也許你并不陌生。十多年前,它剛一誕生就出手不凡,很好地解決了傳統(tǒng)Web服務(wù)器Apache無法hold住的C10K的問題(即一臺物理服務(wù)器達(dá)到并發(fā)量1萬的時(shí)候,Apache就會承受不了)。

      如今,在新華社新一代技術(shù)系統(tǒng)架構(gòu)中,Nginx作為接入層的重要環(huán)節(jié)扮演了至關(guān)重要的角色,通過自主掌控Nginx軟件的安裝配置,靈活運(yùn)用各種內(nèi)置、第三方模塊及自定義lua腳本,不僅可以完成基本的代理轉(zhuǎn)發(fā)和軟負(fù)載,還能通過對流量的多種控制處理實(shí)現(xiàn)認(rèn)證鑒權(quán)、SSL卸載、限速分流、接入審計(jì)等功能,以滿足用戶和應(yīng)用系統(tǒng)的多種需求。

      Nginx是一款開源免費(fèi)的HTTP和反向代理服務(wù)器,它由俄羅斯人伊戈?duì)枴と饕蚓帉?,最早發(fā)布于2004年。十多年來,由于其出色的性能,Nginx在互聯(lián)網(wǎng)突飛猛進(jìn)的時(shí)代里飛速發(fā)展,根據(jù)W3Techs網(wǎng)站的報(bào)告,目前全球TOP 1000的網(wǎng)站中有接近六成在使用Nginx,包括Netflix, Dropbox, Wikipedia等,而排名第二的Apache僅占16.5%。Nginx最突出的特性包括高并發(fā)、輕量級、穩(wěn)定,這得益于它使用異步、非阻塞、事件驅(qū)動的方式處理請求,測試顯示它能處理高達(dá)Apache4倍之多的并發(fā)請求量,同時(shí)使用的內(nèi)存資源卻遠(yuǎn)低于Apache。

      要使用Nginx,第一步要掌握Nginx的安裝:

      在安裝Nginx之前,首先要安裝3個(gè)依賴軟件包:PCRE正則表達(dá)式庫,zlib壓縮庫和OpenSSL加密工具集,Nginx的配置、壓縮和ssl功能中需要用到這些軟件。

      安裝Nginx包括3步,配置、編譯和安裝,首先需要在Nginx官網(wǎng)http://nginx.org/下載源碼包,一般建議使用穩(wěn)定版(Stable Version)。

      圖1 全球Web服務(wù)器排名

      在配置階段,由于Nginx使用高度模塊化的架構(gòu)設(shè)計(jì),需要手動設(shè)置各個(gè)模塊的開關(guān)選項(xiàng)。對于默認(rèn)關(guān)閉的Nginx內(nèi)置模塊,可以使用--with-module_name的方式開啟開關(guān),對于第三方模塊,可以使用--add-module=/path/to/module的方式加以集成。

      啟用一些常用的內(nèi)置模塊的配置如下:

      ●--with-stream 四層協(xié)議轉(zhuǎn)發(fā)

      ●--with-http_ssl_module 支持https

      ●--with-http_gzip_static_module Gzip 靜態(tài)模塊

      ●--with-http_geoip_module GeoIP 模塊

      ●--with-http_flv_module 為FLV文件提供服務(wù)端偽流媒體支持

      ●--with-http_stub_status_module 狀態(tài)信息頁

      Nginx有大量的第三方模塊,官網(wǎng)上提供了所有第三方模塊的清單:https://www.nginx.com/resources/wiki/modules/index.html,一些常用的第三方模塊包括:

      ●nginx_upstream_check_module 主動健康檢查

      ●nginx-sticky-module 會話保持

      ●ngx_log_if 日志過濾

      使用make和make install,就完成編譯安裝了。

      安裝完成后,還需要掌握Nginx的基本控制命令:

      ●nginx 啟動nginx

      ●nginx -s stop 立刻停止

      ●nginx -s quit 溫柔停止

      ●nginx -s reload 重載配置文件

      了解完安裝和基本控制,來看看Nginx具體能扮演哪些角色吧:

      1.反向代理

      應(yīng)用部署好了,如何讓用戶能訪問到呢?這正是Nginx反向代理的用武之地,用戶通過域名訪問的請求到達(dá)Nginx服務(wù)器后,Nginx可以根據(jù)域名和路徑區(qū)分這些請求并轉(zhuǎn)發(fā)給不同的后端服務(wù)器集群,即使用戶無法通過網(wǎng)絡(luò)直達(dá)這些后端服務(wù)器。Nginx四層和七層的代理分別使用ngx_stream_proxy_module和ngx_http_proxy_module模塊,都用proxy_pass URL的方式配置實(shí)現(xiàn)。

      2.負(fù)載均衡

      應(yīng)用服務(wù)器出問題了怎么辦?不要緊,將Nginx用做軟負(fù)載,能夠?qū)⒂绊懗潭冉档椭磷畹?。Nginx可以提供靈活多變的負(fù)載配置,包括輪詢、加權(quán)輪詢、IP哈希、主備等,用于滿足多樣的需求。此外,還可以通過集成nginx_upstream_check_module第三方模塊,進(jìn)一步實(shí)現(xiàn)基于tcp和http的主動健康檢查,讓Nginx的負(fù)載均衡能力如虎添翼。

      3.訪問控制

      并非所有的系統(tǒng)都全部面向互聯(lián)網(wǎng)開放,有的系統(tǒng)只允許辦公網(wǎng)絡(luò)訪問,還有的系統(tǒng)里某些頁面可以對互聯(lián)網(wǎng)開放,其他頁面則僅允許特定的內(nèi)部IP訪問,面對這些細(xì)粒度的訪問控制需求,通過使用ngx_http_access_module模塊,Nginx可以提供基于七層的靈活的黑白名單方式配置訪問控制策略。

      4.認(rèn)證鑒權(quán)

      有些應(yīng)用系統(tǒng)想要加把鎖,輸入正確的用戶名密碼才能訪問,nginx默認(rèn)自帶的認(rèn)證模塊就可以實(shí)現(xiàn),通過ngx_http_auth_basic_module模塊,結(jié)合htpasswd命令生成用戶名及對應(yīng)密碼數(shù)據(jù)庫文件,Nginx可以很輕松地實(shí)現(xiàn)這種認(rèn)證。另一種認(rèn)證方式也很流行,Nginx+Lua(類似Openresty)可以讓用戶在訪問業(yè)務(wù)系統(tǒng)之前先通過統(tǒng)一的用戶認(rèn)證系統(tǒng)登錄、過濾并鑒權(quán)。

      5. SSL卸載

      近年來,HTTPS逐漸取代HTTP成為傳輸協(xié)議界的新寵,眾多互聯(lián)網(wǎng)網(wǎng)站開始從HTTP切換到HTTPS,以實(shí)現(xiàn)加密、可信訪問。Nginx的 ngx_http_ssl_module模塊對https提供了必要的支持,想要實(shí)施HTTPS的網(wǎng)站可以將證書安裝在Nginx服務(wù)器上,由Nginx進(jìn)行ssl密文數(shù)據(jù)流的卸載。

      6.限速限流

      當(dāng)遇到真實(shí)的流量遠(yuǎn)遠(yuǎn)大于系統(tǒng)測試的可承載流量時(shí),一方面可能讓系統(tǒng)垮掉,另一方面可能擁堵出口帶寬,這時(shí)就必須進(jìn)行限流。限流是從上到下貫穿整個(gè)應(yīng)用的,接入層作為最外面的屏障,需要做好整個(gè)系統(tǒng)的限流。對于Nginx來講,限流有多種方式,可以使用ngx_http_core_module核心模塊對連接數(shù)進(jìn)行限制,也可以對訪問頻率進(jìn)行限制,還可以啟用過載保護(hù)sysgurad模塊。

      7.接入審計(jì)

      可以通過搭建ELK平臺收集和分析接入層Nginx日志,實(shí)現(xiàn)可視化的接入審計(jì)及分析平臺,消息隊(duì)列可以采用Redis或Kafka。

      除了上述種種應(yīng)用場景,Nginx還有一個(gè)運(yùn)維人員不可不知的炫酷操作——平滑升級。作為一個(gè)互聯(lián)網(wǎng)軟件,Nginx版本迭代升級比較頻繁,對運(yùn)維人員來說,為了享受新版本的新特性,免不了要對生產(chǎn)環(huán)境的Nginx進(jìn)行版本升級,而平滑升級操作可以在業(yè)務(wù)毫無感知的情況下完成,運(yùn)維人員只需在備份并替換sbin目錄下的可執(zhí)行文件后,使用kill -s USR2 `cat /path/to/nginx.pid`命令,讓Nginx開始新舊版本并行運(yùn)行,隨后再優(yōu)雅退出舊進(jìn)程即可。

      看到這里,你有沒有躍躍欲試了呢,快去體驗(yàn)一下這款Web服務(wù)器神器吧。

      猜你喜歡
      鑒權(quán)秘籍限流
      《覺醒年代》的“出圈”秘籍
      金橋(2021年10期)2021-11-05 07:23:42
      基于限流可行方案邊界集的最優(yōu)支路投切
      能源工程(2020年6期)2021-01-26 00:55:22
      交通事故條件下高速公路限流研究
      上海公路(2017年1期)2017-07-21 13:38:33
      夏季BEAUTY秘籍100招
      高溫超導(dǎo)限流器
      移動網(wǎng)絡(luò)用戶頻繁鑒權(quán)問題的優(yōu)化方案探討
      移動通信(2015年2期)2015-04-13 04:14:26
      基于小型核心網(wǎng)的LTE鑒權(quán)的一種新實(shí)現(xiàn)
      D-STATCOM實(shí)時(shí)同比例限流保護(hù)的研究
      電測與儀表(2014年8期)2014-04-04 09:19:24
      滑雪秘籍
      電信增值業(yè)務(wù)運(yùn)營中的認(rèn)證鑒權(quán)控制方案研究
      同仁县| 延长县| 芦溪县| 集安市| 合江县| 正镶白旗| 且末县| 上饶县| 台东县| 青河县| 赣州市| 霍州市| 金寨县| 黄平县| 普兰店市| 瑞昌市| 沙雅县| 临洮县| 吐鲁番市| 蓬溪县| 邵东县| 襄汾县| 开阳县| 牟定县| 蕲春县| 兴隆县| 达日县| 河北区| 双牌县| 绥棱县| 平遥县| 杭锦旗| 南雄市| 咸阳市| 东莞市| 湾仔区| 奉节县| 吉木乃县| 永川市| 汤原县| 安丘市|