面試常問服務(wù)器?— Nginx八道必懂面試題

1.nginx常用命令

  • 啟動nginx ./sbin/nginx
  • 停止nginx ./sbin/nginx -s stop ./sbin/nginx -s quit
  • 重載配置 ./sbin/nginx -s reload(平滑重啟) service nginx reload
  • 重載指定配置文件 ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  • 查看nginx版本 ./sbin/nginx -v
  • 檢查配置文件是否正確 ./sbin/nginx -t
  • 顯示幫助信息 ./sbin/nginx -h

2.nginx狀態(tài)碼

  • 499:服務(wù)端處理時間過長,客戶端主動關(guān)閉了連接。

3.nginx是如何實現(xiàn)高并發(fā)的

一個主進程,多個工作進程,每個工作進程可以處理多個請求
每進來一個request玉掸,會有一個worker進程去處理。但不是全程的處理醒叁,處理到可能發(fā)生阻塞的地方司浪,比如向上游(后端)服務(wù)器轉(zhuǎn)發(fā)request,并等待請求返回辐益。那么断傲,這個處理的worker繼續(xù)處理其他請求,而一旦上游服務(wù)器返回了智政,就會觸發(fā)這個事件认罩,worker才會來接手,這個request才會接著往下走续捂。
由于web server的工作性質(zhì)決定了每個request的大部份生命都是在網(wǎng)絡(luò)傳輸中垦垂,實際上花費在server機器上的時間片不多。這是幾個進程就解決高并發(fā)的秘密所在牙瓢。即@skoo所說的webserver剛好屬于網(wǎng)絡(luò)io密集型應(yīng)用劫拗,不算是計算密集型。


4.nginx功能

  • 作為http server(代替apache矾克,對PHP需要FastCGI處理器支持)
  • 反向代理服務(wù)器
  • 實現(xiàn)負載均衡
  • 虛擬主機
  • FastCGI:Nginx本身不支持PHP等語言页慷,但是它可以通過FastCGI來將請求扔給某些語言或框架處理

5.502錯誤可能原因

  • (1).FastCGI進程是否已經(jīng)啟動
  • (2).FastCGI worker進程數(shù)是否不夠
  • (3).FastCGI執(zhí)行時間過長
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
  • (4).FastCGI Buffer不夠
    nginx和apache一樣,有前端緩沖限制,可以調(diào)整緩沖參數(shù)
    fastcgi_buffer_size 32k;
    fastcgi_buffers 8 32k;
  • (5). Proxy Buffer不夠
    如果你用了Proxying酒繁,調(diào)整
    proxy_buffer_size 16k;
    proxy_buffers 4 16k;
  • (6).php腳本執(zhí)行時間過長
    將php-fpm.conf的<value name="request_terminate_timeout">0s</value>的0s改成一個時間

6.nignx配置

  • worker_processes 8; 工作進程個數(shù)
  • worker_connections 65535; 每個工作進程能并發(fā)處理(發(fā)起)的最大連接數(shù)(包含所有連接數(shù))
  • error_log /data/logs/nginx/error.log; 錯誤日志打印地址
  • access_log /data/logs/nginx/access.log 進入日志打印地址
  • log_format main 'remote_addr"request" ''statusupstream_addr "$request_time"'; 進入日志格式
  • fastcgi_connect_timeout=300; #連接到后端fastcgi超時時間
  • fastcgi_send_timeout=300; #向fastcgi請求超時時間(這個指定值已經(jīng)完成兩次握手后向fastcgi傳送請求的超時時間)
  • fastcgi_rend_timeout=300; #接收fastcgi應(yīng)答超時時間滓彰,同理也是2次握手后
  • fastcgi_buffer_size=64k; #讀取fastcgi應(yīng)答第一部分需要多大緩沖區(qū),該值表示使用1個64kb的緩沖區(qū)讀取應(yīng)答第一部分(應(yīng)答頭),可以設(shè)置為fastcgi_buffers選項緩沖區(qū)大小
  • fastcgi_buffers 4 64k;#指定本地需要多少和多大的緩沖區(qū)來緩沖fastcgi應(yīng)答請求州袒,假設(shè)一個php或java腳本所產(chǎn)生頁面大小為256kb,那么會為其分配4個64kb的緩沖來緩存
  • fastcgi_cache TEST;#開啟fastcgi緩存并為其指定為TEST名稱揭绑,降低cpu負載,防止502錯誤發(fā)生
  • listen 80; 監(jiān)聽端口
  • server_name rrc.test.jiedaibao.com; 允許域名
  • root /data/release/rrc/web; 項目根目錄
  • index index.php index.html index.htm; 訪問根文件

7.nginx和apache的區(qū)別

  • 輕量級,同樣起web 服務(wù)郎哭,比apache 占用更少的內(nèi)存及資源
  • 抗并發(fā)他匪,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的夸研,在高并發(fā)下nginx 能保持低資源低消耗高性能
  • 高度模塊化的設(shè)計邦蜜,編寫模塊相對簡單
  • 最核心的區(qū)別在于apache是同步多進程模型,一個連接對應(yīng)一個進程陈惰;nginx是異步的畦徘,多個連接(萬級別)可以對應(yīng)一個進程

8.fastcgi與cgi的區(qū)別

cgi:
web服務(wù)器會根據(jù)請求的內(nèi)容毕籽,然后會fork一個新進程來運行外部c程序(或perl腳本...)抬闯, 這個進程會把處理完的數(shù)據(jù)返回給web服務(wù)器,最后web服務(wù)器把內(nèi)容發(fā)送給用戶关筒,剛才fork的進程也隨之退出溶握。 如果下次用戶還請求改動態(tài)腳本,那么web服務(wù)器又再次fork一個新進程蒸播,周而復始的進行睡榆。

fastcgi:
web服務(wù)器收到一個請求時,他不會重新fork一個進程(因為這個進程在web服務(wù)器啟動時就開啟了袍榆,而且不會退出)胀屿,web服務(wù)器直接把內(nèi)容傳遞給這個進程(進程間通信,但fastcgi使用了別的方式包雀,tcp方式通信)宿崭,這個進程收到請求后進行處理,把結(jié)果返回給web服務(wù)器才写,最后自己接著等待下一個請求的到來葡兑,而不是退出。


以上就是nginx常見的幾道面試題赞草,以下就是整理好的jvm讹堤、線程并發(fā)等面試題的答案。

面試題答案厨疙,獲取方式

請加QQ群:976203838

獲取以上面試題答案傳送門:https://shimo.im/docs/R6zZRIikthw8jifV

重要的話說三遍洲守,先 關(guān)注關(guān)注關(guān)注梗醇,然后加群才可拿到參考答案哦暑始!

原文出處:https://blog.csdn.net/xal0610/article/details/79531692

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市婴削,隨后出現(xiàn)的幾起案子廊镜,更是在濱河造成了極大的恐慌,老刑警劉巖唉俗,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗤朴,死亡現(xiàn)場離奇詭異,居然都是意外死亡虫溜,警方通過查閱死者的電腦和手機雹姊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衡楞,“玉大人吱雏,你說我怎么就攤上這事●常” “怎么了歧杏?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長迷守。 經(jīng)常有香客問我犬绒,道長,這世上最難降的妖魔是什么兑凿? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任凯力,我火速辦了婚禮,結(jié)果婚禮上礼华,老公的妹妹穿的比我還像新娘咐鹤。我一直安慰自己,他們只是感情好圣絮,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布祈惶。 她就那樣靜靜地躺著,像睡著了一般晨雳。 火紅的嫁衣襯著肌膚如雪行瑞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天餐禁,我揣著相機與錄音血久,去河邊找鬼。 笑死帮非,一個胖子當著我的面吹牛氧吐,可吹牛的內(nèi)容都是我干的讹蘑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼筑舅,長吁一口氣:“原來是場噩夢啊……” “哼座慰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起翠拣,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤版仔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后误墓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛮粮,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年谜慌,在試婚紗的時候發(fā)現(xiàn)自己被綠了然想。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡欣范,死狀恐怖变泄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恼琼,我是刑警寧澤妨蛹,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站驳癌,受9級特大地震影響滑燃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜颓鲜,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望典予。 院中可真熱鬧甜滨,春花似錦、人聲如沸瘤袖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捂敌。三九已至艾扮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間占婉,已是汗流浹背泡嘴。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逆济,地道東北人酌予。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓磺箕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親抛虫。 傳聞我的和親對象是個殘疾皇子松靡,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 1.簡介: ? Nginx:engine X ,2002年建椰,開源雕欺,商業(yè)版? http協(xié)議:web服務(wù)器(類似于ht...
    尛尛大尹閱讀 1,862評論 0 3
  • Nginx簡介 解決基于進程模型產(chǎn)生的C10K問題,請求時即使無狀態(tài)連接如web服務(wù)都無法達到并發(fā)響應(yīng)量級一萬的現(xiàn)...
    魏鎮(zhèn)坪閱讀 1,994評論 0 9
  • I/O模型Nginx介紹Nginx的安裝和目錄結(jié)構(gòu)Nginx的配置Nginx的編譯安裝 一、I/O模型 (一)I/...
    哈嘍別樣閱讀 890評論 0 4
  • Nginx (engine x)是一個高性能的HTTP和反向代理服務(wù)器棉姐,也是一個IMAP/POP3/SMTP服務(wù)器...
    hhf_Engineer閱讀 2,135評論 0 1
  • nginx在工作中已經(jīng)有好幾個環(huán)境在使用了阅茶,每次都是重新去網(wǎng)上扒博客,各種編譯配置谅海,今天自己也整理一份安裝文檔和n...
    AndyChin閱讀 2,293評論 0 4