Nginx
? Nginx是一個web服務器和反向代理服務器,用於HTTP
、HTTPS
、SMTP
、POP3
和IMAP
協議。html
Nginx
的一些特性。 Nginx
服務器的特性包括:nginx
反向代理/L7負載均衡器web
嵌入式Perl解釋器segmentfault
動態二進制升級安全
可用於從新編寫URL,具備很是好的PCRE支持服務器
三、請列舉Nginx
和Apache
之間的不一樣點。網絡
Nginx
如何處理HTTP
請求。 Nginx
使用反應器模式。主事件循環等待操做系統發出準備事件的信號,這樣數據就能夠從套接字讀取,在該實例中讀取到緩衝區並進行處理。單個線程能夠提供數萬個併發鏈接。併發
Nginx
中,如何使用未定義的服務器名稱來阻止處理請求?只需將請求刪除的服務器就能夠定義爲:負載均衡
Server { listen 80; server_name 「 「 ; return 444; }
這裏,服務器名被保留爲一個空字符串,它將在沒有「主機」頭字段的狀況下匹配請求,而一個特殊的Nginx
的非標準代碼444
被返回,從而終止鏈接。memcached
反向代理服務器能夠隱藏源服務器的存在和特徵。它充當互聯網雲和web服務器之間的中間層。這對於安全方面來講是很好的,特別是當您使用web託管服務時。
Nginx
服務器的最佳用途。 Nginx
服務器的最佳用法是在網絡上部署動態HTTP
內容,使用SCGI
、WSGI
應用程序服務器、用於腳本的FastCGI
處理程序。它還能夠做爲負載均衡器。
Nginx
服務器上的Master
和Worker
進程分別是什麼? Master
進程:讀取及評估配置和維持
Worker
進程:處理請求
爲了經過一個不一樣的端口開啓Nginx
,你必須進入/etc/Nginx/sites-enabled/
,若是這是默認文件,那麼你必須打開名爲「default」
的文件。編輯文件,並放置在你想要的端口:
Like server { listen 81; }
Nginx
的錯誤替換爲502
錯誤、503
? 502
=錯誤網關
503
=服務器超載
有可能,可是您能夠確保fastcgi_intercept_errors
被設置爲ON
,並使用錯誤頁面指令。
Location / { fastcgi_pass 127.0.01:9001; fastcgi_intercept_errors on; error_page 502 =503/error_page.html; #… }
Nginx
中,解釋如何在URL
中保留雙斜線? 要在URL
中保留雙斜線,就必須使用merge_slashes_off
;
語法:merge_slashes [on/off]
默認值: merge_slashes on
環境: http,server
ngx_http_upstream_module
的做用是什麼? ngx_http_upstream_module
用於定義可經過fastcgi
傳遞、proxy
傳遞、uwsgi
傳遞、memcached
傳遞和scgi傳遞指令來引用的服務器組。
C10K
問題? C10K
問題是指沒法同時處理大量客戶端(10,000)的網絡套接字。
stub_status
和sub_filter
指令的做用是什麼? Stub_status
指令:該指令用於瞭解Nginx
當前狀態的當前狀態,如當前的活動鏈接,接受和處理當前讀/寫/等待鏈接的總數
Sub_filter
指令:它用於搜索和替換響應中的內容,並快速修復陳舊的數據
Nginx
是否支持將請求壓縮到上游? 您可使用Nginx
模塊gunzip
將請求壓縮到上游。gunzip
模塊是一個過濾器,它能夠對不支持「gzip」編碼方法的客戶機或服務器使用「內容編碼:gzip」來解壓縮響應。
Nginx
中得到當前的時間? 要得到Nginx的當前時間,必須使用SSI
模塊、$date_gmt
和$date_local
的變量。
Proxy_set_header
THE-TIME $date_gmt
;
Nginx
服務器解釋-s
的目的是什麼? 用於運行Nginx -s
參數的可執行文件。
Nginx
服務器上添加模塊? 在編譯過程當中,必須選擇Nginx
模塊,由於Nginx
不支持模塊的運行時間選擇。
原文章地址:https://segmentfault.com/a/1190000010677483