nginx是乙個web伺服器和反向**伺服器,用於http、https、smtp、pop3和imap協議。
nginx伺服器的特性包括:
反向**/l7負載均衡器
嵌入式perl直譯器
動態二進位制公升級
可用於重新編寫url,具有非常好的pcre支援
nginx使用反應器模式。主事件迴圈等待作業系統發出準備事件的訊號,這樣資料就可以從套接字讀取,在該例項中讀取到緩衝區並進行處理。單個執行緒可以提供數萬個併發連線。
只需將請求刪除的伺服器就可以定義為:
server
這裡,伺服器名被保留為乙個空字串,它將在沒有「主機」頭字段的情況下匹配請求,而乙個特殊的nginx的非標準**444被返回,從而終止連線。
反向**伺服器可以隱藏源伺服器的存在和特徵。它充當網際網路雲和web伺服器之間的中間層。這對於安全方面來說是很好的,特別是當您使用web託管服務時。
nginx伺服器的最佳用法是在網路上部署動態http內容,使用scgi、wsgi應用程式伺服器、用於指令碼的fastcgi處理程式。它還可以作為負載均衡器。
master程序:讀取及評估配置和維持
worker程序:處理請求
為了通過乙個不同的埠開啟nginx,你必須進入/etc/nginx/sites-enabled/,如果這是預設檔案,那麼你必須開啟名為「default」的檔案。編輯檔案,並放置在你想要的埠:
like server
502 =錯誤閘道器
503 =伺服器超載
有可能,但是您可以確保fastcgi_intercept_errors被設定為on,並使用錯誤頁面指令。
要在url中保留雙斜線,就必須使用merge_slashes_off;location /
語法:merge_slashes [on/off]
預設值: merge_slashes on
環境: http,server
ngx_http_upstream_module用於定義可通過fastcgi傳遞、proxy傳遞、uwsgi傳遞、memcached傳遞和scgi傳遞指令來引用的伺服器組。
c10k問題是指無法同時處理大量客戶端(10,000)的網路套接字。
stub_status指令:該指令用於了解nginx當前狀態的當前狀態,如當前的活動連線,接受和處理當前讀/寫/等待連線的總數
sub_filter指令:它用於搜尋和替換響應中的內容,並快速修復陳舊的資料
您可以使用nginx模組gunzip將請求壓縮到上游。gunzip模組是乙個過濾器,它可以對不支援「gzip」編碼方法的客戶機或伺服器使用「內容編碼:gzip」來解壓縮響應。
要獲得nginx的當前時間,必須使用ssi模組、dategmt和date_gmt和dategmt和date_local的變數。
proxy_set_header the-time $date_gmt;
用於執行nginx -s引數的可執行檔案。
在編譯過程中,必須選擇nginx模組,因為nginx不支援模組的執行時間選擇。
Nginx面試中最常見的18道題
目錄 1 請解釋一下什麼是nginx?2 請列舉nginx的一些特性。3 請列舉nginx和apache 之間的不同點。4 請解釋nginx如何處理http請求。5 在nginx中,如何使用未定義的伺服器名稱來阻止處理請求?6 使用 反向 伺服器 的優點是什麼?7 請列舉nginx伺服器的最佳用途。...
Nginx面試中最常見的18道題 抱佛腳必備
1 請解釋一下什麼是nginx?nginx是乙個web伺服器和方向 伺服器,用於http https smtp pop3和imap協議。2 請列舉nginx的一些特性。nginx伺服器的特性包括 反向 l7負載均衡器 嵌入式perl直譯器 動態二進位制公升級 可用於重新編寫url,具有非常好的pcr...
Python中最常見括號 的區別
在python語言中最常見的括號有三種,分別是 小括號 中括號 花括號 其作用也不相同,分別用來代表不同的python基本內建資料型別。python中的小括號 代表tuple元祖資料型別,元祖是一種不可變序列。建立方法很簡單,大多數時候都是小括號括起來的 1 tup 1,2,3 2 tup 3 1,...