日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx 面试题

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx 面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、什么是Nginx

Nginx是一個高性能的HTTP和反向代理服務器。同時也是一個 IMAP/POP3/SMTP 代理服務器。

2、Nginx主要特性

  • 支持SSL 和TLSSNI.
    Nginx它支持內核Poll模型,能經受高負載的考驗,有報告表明能支持高達50,000個并發連接數。
  • Nginx具有很高的穩定性。
    例如當前 apache一旦上到200個以上進程,web響應速度就明顯非常緩慢了。而Nginx采取了分階段資源分配技術,使得它的CPU與內存占用率非常低。nginx官方表示保持10,000個沒有活動的連接,它只占2.5M內存,所以類似DOS這樣的攻擊對nginx來說基本上是毫無用處的。
  • Nginx支持熱部署。
    它的啟動特別容易,并且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動。對軟件版本進行進行熱升級。
  • Nginx采用master-slave模型,能夠充分利用SMP的優勢,且能夠減少工作進程在磁盤IO的阻塞延遲。
    當采用select()/poll()調用時,還可以限制每個進程的連接數。
  • Nginx采用master-slave模型,能夠充分利用SMP的優勢,且能夠減少工作進程在磁盤IO的阻塞延遲。
    當采用select()/poll()調用時,還可以限制每個進程的連接數。
  • Nginx采用了一些os提供的最新特性如對sendfile (Linux2.2+), accept-filter
    (FreeBSD4.1+),TCP_DEFER_ACCEPT (Linux 2.4+)的支持,從而大大提高了性能。
  • 免費開源,可以做高并發負載均衡。
  • 3、Nginx常用命令

    3.1、啟動

    nginx

    3.2、停止

    nginx -s stop 或 nginx -s quit

    3.3、重載配置

    ./sbin/nginx -s reload(平滑重啟 ) 或 service nginx reload

    3.4、重載指定配置文件

    .nginx -c /usr/local/nginx/conf/nginx.conf

    3.5、查看版本

    nginx -v

    3.6、檢查配置文件是否正確

    nginx -t

    3.7、顯示幫助命令

    nginx -h

    4、工作模式以及連接數上限

    events { use epoll; #epoll 是多路復? IO(I/O Multiplexing)中的?種?式,但是僅?于 linux2.6 #以上內核,可以??提? nginx 的性能 worker_connections 1024;#單個后臺 worker process 進程的最?并發鏈接數 # multi_accept on; }

    5、Nginx負載均衡的幾種算法

  • 輪詢模式(默認)
    每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。
  • 權重模式
    指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。
  • IP_HASH模式(IP散列)
    每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。
  • url_hash模式
    按照訪問的URL的hash結果來分配請求,使每個URL定向到同一個后端服務器。
  • fair模式
    按后端服務器的響應時間來分配請求,響應時間短的優先分配。
  • 6、Nginx的進程模型

  • master-worker模式
    在master-worker模式下,有一個master進程和至少一個的worker進程。
  • 單進程模式。
    單進程模式只有一個進程。
  • 7、如何定義錯誤提示頁面

    #error_page 500 502 503 504 /50x.html; location = /50x.html {root /root; }

    8、如何精準匹配路徑

    location = /get { #規則 A }

    9、路徑匹配優先級

    多個location 配置的情況下匹配順序為

  • 首先匹配 =
  • 其次匹配 ^~
  • 再其次是按文件中順序的正則匹配
  • 最后是交給 / 通用匹配。
  • 當有匹配成功時候,停止匹配,按當前匹配規則處理請求。

    10、如何將請求轉發給后端應用服務器

    location = / {proxy_pass http://tomcat:8080/index }

    11、根據文件類型設置過期時間

    location ~* \.(js|css|jpg|jpeg|gif|png|swf)$ {if (-f $request_filename) {expires 1h;break; } }

    12、禁止訪問某個目錄

    location ^~/path/ {deny all; }

    13、Nginx負載均衡實現過程

    首先在http模塊中配置使用upstream模塊定義后臺的webserver的池子,名為proxy-web,在池子中我們可以添加多臺后臺webserver,其中狀態檢查、調度算法都是在池子中配置;然后在serverr模塊中定義虛擬主機,但是這個虛擬主機不指定自己的web目錄站點,它將使用location 匹配url然后轉發到上面定義好的web池子中,最后根據調度策略再轉發到后臺web server上。

    14、負載均衡配置

    Upstream proxy_nginx {server 192.168.0.254 weight=1max_fails=2 fail_timeout=10s ; server 192.168.0.253 weight=2 max_fails=2fail_timeout=10s;server192.168.0.252 backup; server192.168.0.251 down; }server{listen 80;server_name xiaoka.com; }location / {proxy_pass http:// proxy_nginx;proxy_set_header Hostproxy_set_header X-Real-IPproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

    15、設置超時時間

    http {keepalive_timeout 60; ###設置客戶端連接保持會話的超時時間,超過這個時間,服務器會關閉該連接。 tcp_nodelay on; ####打開 tcp_nodelay,在包含了 keepalive 參數才有效client_header_timeout 15; ####設置客戶端請求頭讀取超時時間,如果超過這個時間,客戶端還沒有發送任何數據, Nginx 將返回“Request time out(408)”錯誤client_body_timeout 15;####設置客戶端請求主體讀取超時時間,如果超過這個時間,客戶端還沒有發送任何數據, Nginx 將返回“Request time out(408)”錯誤send_timeout 15; ####指定響應客戶端的超時時間。這個超過僅限于兩個連接活動之間的時間,如果超過這個時間,客戶端沒有任何活動,Nginx 將會關閉連接。}

    16、開啟壓縮功能的好壞

  • 好處:壓縮是可以節省帶寬,提高傳輸效率。
  • 壞處:但是由于是在服務器上進行壓縮,會消耗服務器起源
  • 結束!


    “人這一生,總要放棄很多東西”“包括我?”“對,包括你!”

    總結

    以上是生活随笔為你收集整理的nginx 面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。