UNIX/LINUX,NGINX 簡介

 2023-12-06 阅读 38 评论 0

摘要:Nginx的特性:  模塊化設計、較好擴展性  高可靠性    master-->worker  低內存消耗    10000個keep-alive非活動連接在Nginx僅消耗2.5MB,支持event-driven,aio,mmap  支持熱部署    不停機而更新配置文件、更換日志文件、

Nginx的特性:
  模塊化設計、較好擴展性
  高可靠性
    master-->worker
  低內存消耗
    10000個keep-alive非活動連接在Nginx僅消耗2.5MB,支持event-driven,aio,mmap
  支持熱部署
    不停機而更新配置文件、更換日志文件、更新服務器程序版本

基本功能:
  靜態資源的web服務器,能緩存打開的文件描述符
  http, smtp, pop3協議的反向代理服務器,緩存、負載均衡;
  支持FastCGI (fpm),uWSGI等協議的反代;
  模塊化,非DSO(動態共享對象)機制,過濾器zip,SSI及圖像大小調整;
  支持SSL

UNIX/LINUX、擴展功能:
  基于名稱和IP的虛擬主機;
  支持keepalive
  支持平滑升級
  定制訪問日志 ,支持使用日志緩沖區提高日志存儲性能
  支持url rewrite
  支持路徑別名
  支持基于IP及用戶的訪問控制
  支持速率限制,支持并發數限制

Nginx的基本架構:

  master/worker
    一個master進程,生成一個或多個worker,一個worker進程通過事件驅動機制響應多個請求。
      master:加載配置文件、管理worker進程、平滑升級。。。
      worker:http服務、http代理、fastcgi代理
      進程復用: epoll, kqueue, /dev/poll (event ports) ,select, poll,,rt signals
      磁盤io:支持AIO,Advanced IO,sendfile,,sendfile64,nmap(內存映射機制:文件的路徑映射到內存中,訪問它可以直接訪問文件)
worker負責接收http請求,如果使用緩存功能的話還負責從緩存加載數據直接響應,如果要訪問后端主機的話,則通過相關反代模塊訪問后端主機。worker中包含模塊分為核心模塊、標準模塊和第三方模塊,不同的模塊可以和不同的后端主機相連,HTTP通過ht_core模塊,PHP通過fastcgi模塊,memcache通過memcache模塊等等。

AJAX是什么,

?

1、Nginx和Apache相比優點:
  輕量級:同樣起web服務,比apache占用更少的內存及資源;
  抗并發:nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高并發下nginx 能保持低資源低消耗高性能;
  高度模塊化的設計:編寫模塊相對簡單;
  社區活躍:各種高性能模塊出品迅速。
2、Nginx作為Web服務器:
  相比Apache,Nginx使用更少的資源,支持更多的并發連接,體現更高的效率。
  Nginx作為負載均衡服務器:
  Nginx既可以在內部直接支持Rails和PHP程序對外進行服務, 也可以支持作為HTTP代理服務器對外進行服務. Nginx采用C進行編寫, 不論是系統資源開銷還是CPU使用效率都不錯。
  Nginx作為郵件代理服務器:
  Nginx 同時也是一個非常優秀的郵件代理服務器(最早開發這個產品的目的之一也是作為郵件代理服務器)。
Nginx 啟動特別容易, 并且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動. 你還能夠不間斷服務的情況下進行軟件版本的升級。
3、Nginx配置簡潔,Apache復雜:
  Nginx靜態處理性能比Apache高3倍以上;
  Apache對PHP支持比較簡單,Nginx需要配合其他后端(php-fpm或者fastcgi);
  Apache的組件比Nginx多。
4、Nginx與Apache最核心的區別:
  在于apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程。
5、nginx處理靜態文件好,耗費內存少:
  apache有先天不支持多核心處理負載雞肋的缺點,建議使用nginx做前端,后端用apache。大型網站建議用nginx自帶的集群功能。
6、從使用情況來看:
  nginx的負載能力比apache高很多。Nginx改完配置能-t測試一下配置有沒有問題,apache重啟的時候發現配置出錯了,會很崩潰,改的時候都會非常小心翼翼現在看有好多集群站,前端nginx抗并發,后端apache集群,配合的也不錯。
7、nginx處理動態請求是雞肋,一般動態請求要apache去做,nginx只適合靜態和反向。
8、Nginx優于apache的主要兩點:
  1.Nginx本身就是一個反向代理服務器;
  2.Nginx支持7層負載均衡,Nginx可能會比apache支持更高的并發。
10、你對web server的需求決定你的選擇。大部分情況下Nginx都優于Apache,比如說靜態文件處理PHP-CGI的支持、反向代理功能、前端apache、維持連接等等。在Apache+PHP(prefork)模式下,如果PHP處理慢或者前端壓力很大的情況下,很容易出現Apache進程數飆升,從而拒絕服務的現象。
11、可以看一下nginx lua模塊:https://github.com/chaoslaw...apache比nginx多的模塊,可直接用lua實現apache是最流行的,why?大多數人懶得更新到nginx或者學新事物。
12、對于nginx,它配置文件寫的很簡潔,正則配置讓很多事情變得簡單運行效率高,占用資源少,代理功能強大,很適合做前端響應服務器
13、Apache在處理動態有優勢,Nginx并發性比較好,CPU內存占用低,如果rewrite頻繁,那還是Apache較適合。

轉載于:https://www.cnblogs.com/Nvax/p/7576516.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/191486.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息