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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

nginx常见面试题

發布時間:2025/3/19 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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狀態碼 499:服務端處理時間過長,客戶端主動關閉了連接。
3.nginx是如何實現高并發的 一個主進程,多個工作進程,每個工作進程可以處理多個請求 每進來一個request,會有一個worker進程去處理。但不是全程的處理,處理到可能發生阻塞的地方,比如向上游(后端)服務器轉發request,并等待請求返回。那么,這個處理的worker繼續處理其他請求,而一旦上游服務器返回了,就會觸發這個事件,worker才會來接手,這個request才會接著往下走。 由于web server的工作性質決定了每個request的大部份生命都是在網絡傳輸中,實際上花費在server機器上的時間片不多。這是幾個進程就解決高并發的秘密所在。即@skoo所說的webserver剛好屬于網絡io密集型應用,不算是計算密集型。
4.nginx功能 作為http server(代替apache,對PHP需要FastCGI處理器支持) 反向代理服務器 實現負載均衡 虛擬主機 FastCGI:Nginx本身不支持PHP等語言,但是它可以通過FastCGI來將請求扔給某些語言或框架處理
5.502錯誤可能原因 (1).FastCGI進程是否已經啟動 (2).FastCGI worker進程數是否不夠 (3).FastCGI執行時間過長 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; (4).FastCGI Buffer不夠 nginx和apache一樣,有前端緩沖限制,可以調整緩沖參數 fastcgi_buffer_size 32k; fastcgi_buffers 8 32k; (5). Proxy Buffer不夠 如果你用了Proxying,調整 proxy_buffer_size?? 16k; proxy_buffers ?? 4 16k; (6).php腳本執行時間過長 將php-fpm.conf的<value name="request_terminate_timeout">0s</value>的0s改成一個時間
6.nignx配置 worker_processes??8; ? ? 工作進程個數 worker_connections??65535; ?每個工作進程能并發處理(發起)的最大連接數(包含所有連接數) error_log?????????/data/logs/nginx/error.log; ?錯誤日志打印地址 access_log ? ? ?/data/logs/nginx/access.log ?進入日志打印地址 log_format??main??'$remote_addr"$request"?''$status?$upstream_addr?"$request_time"'; 進入日志格式
fastcgi_connect_timeout=300; #連接到后端fastcgi超時時間 fastcgi_send_timeout=300; #向fastcgi請求超時時間(這個指定值已經完成兩次握手后向fastcgi傳送請求的超時時間) fastcgi_rend_timeout=300; #接收fastcgi應答超時時間,同理也是2次握手后 fastcgi_buffer_size=64k; #讀取fastcgi應答第一部分需要多大緩沖區,該值表示使用1個64kb的緩沖區讀取應答第一部分(應答頭),可以設置為fastcgi_buffers選項緩沖區大小 fastcgi_buffers 4 64k;#指定本地需要多少和多大的緩沖區來緩沖fastcgi應答請求,假設一個php或java腳本所產生頁面大小為256kb,那么會為其分配4個64kb的緩沖來緩存 fastcgi_cache TEST;#開啟fastcgi緩存并為其指定為TEST名稱,降低cpu負載,防止502錯誤發生
listen???????80; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?監聽端口 server_name??rrc.test.jiedaibao.com; ? ? ? 允許域名 root??/data/release/rrc/web; ? ? ? ? ? ? ? ? ? ?項目根目錄 index??index.php?index.html?index.htm; ?訪問根文件
7.nginx和apache的區別 輕量級,同樣起web 服務,比apache 占用更少的內存及資源? 抗并發,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高并發下nginx 能保持低資源低消耗高性能 高度模塊化的設計,編寫模塊相對簡單? 最核心的區別在于apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程?
8.fastcgi與cgi的區別 cgi: web服務器會根據請求的內容,然后會fork一個新進程來運行外部c程序(或perl腳本...), 這個進程會把處理完的數據返回給web服務器,最后web服務器把內容發送給用戶,剛才fork的進程也隨之退出。 如果下次用戶還請求改動態腳本,那么web服務器又再次fork一個新進程,周而復始的進行。 fastcgi: web服務器收到一個請求時,他不會重新fork一個進程(因為這個進程在web服務器啟動時就開啟了,而且不會退出),web服務器直接把內容傳遞給這個進程(進程間通信,但fastcgi使用了別的方式,tcp方式通信),這個進程收到請求后進行處理,把結果返回給web服務器,最后自己接著等待下一個請求的到來,而不是退出。?

總結

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

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