<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                一、Nginx的功能 1、功能特性 Nginx功能豐富,既可以作為HTTP服務器,也可以作為反向代理服務器,能夠快速響應靜態頁面(HTML)的請求,使用模塊化設計風格,同時支持更多第三方模塊。 1.1、Nginx的特性如下 * 模塊化設計、較好的擴展性 ,從1.9版本以后支持(部分)模塊動態裝卸載 * 高可靠性,有一個master主控進程,主控進程(master)負責生成多個worker * 低內存消耗,一個worker進程負責響應多個請求 * 支持熱部署、不停機而更新配置文件 * 支持平滑升級軟件版本 * 支持事件驅動機制,支持異步IO,支持NMAP內存映射 1.2、Nginx的基本功能 A:基本的HTTP服務 * 靜態資源的web服務器 * 打開并自行管理文件描述符緩存 * 提供反向代理服務(HTTP、SMTP、POP3協議) * 支持HTTPS(安全套接層協議SSL) * 使用Nginx的模塊化特性提供過濾器功能 * 支持緩存和負載均衡機制 * 支持FastCGI,能和php-fpm結合,組成LNMP,同時支持uWSGI(與Python結合) * 支持SSI機制,圖像的大小調整 B:高級HTTP服務 * 支持基于名稱和IP的虛擬主機 * 支持Keepalive機制 * 支持平滑升級(無須中斷正在處理的請求) * 支持自定義訪問日志格式,支持使用日志緩沖區提供日志存儲性能 * 支持URL 重新、支持路徑別名 * 支持基于IP和用戶的訪問控制 * 支持速率限制、并發數限制等 * 支持FLV流和MP4流 3、Nginx的基本架構 一個Master(主控)進程,生成一個或多個worker進程 事件驅動模型:Epoll(基于邊緣觸發) 復用器: select、poll,rt signal 支持Sendfile、Sendfile64、AIO、NMAP機制 ![nginx架構](https://box.kancloud.cn/08522fead126aeaa89f870917f7726e2_805x506.png) Nginx的工作模式: 基于非阻塞、事件驅動機制,有一個master進程生成多個worker線程,每個worker響應n個請求 4、sendfile機制說明: 當用戶的請求過來,先由網卡設備接收到,通過注冊監聽在80端口的內核捕獲到,然后使得向用戶空間的web服務進行轉發,web服務器收到請求,接下來向內核發起(IO)請求,接下來內核負責把文件從磁盤加載到內核內存,然后從內核內存復制一份到進程內存、然后web服務器構建響應報文,把內容從進程內存拷貝到內核內存,然后通過網卡發送出去 Sendfile機制就是: 當內核獲取到資源后,直接構建響應報文,通過網卡響應給客戶端 5、Nginx的進程模型 Nginx在啟動后,會有一個master進程和多個worker進程 A : Master進程 生成和管理各worker進程,用來接收外界的信號,并向各worker進程發送信號、監控worker進程的運行狀態 master進程充當整個進程組與用戶的交互接口 Nginx的平滑升級(kill -HUP pid,則是告訴nginx,從容地重啟nginx,我們一般用這個信號來重啟nginx,或重新加載配置,因為是從容地重啟,因此服務是不中斷的。master進程在接收到HUP信號后是怎么做的呢?首先master進程在接到信號后,會先重新加載配置文件,然后再啟動新的worker進程,并向所有老的worker進程發送信號,告訴他們可以光榮退休了。新的worker在啟動后,就開始接收新的請求,而老的worker在收到來自master的信號后,就不再接收新的請求,并且在當前進程中的所有未處理完的請求處理完成后,再退出) B: Worker進程 負責處理客戶端的web請求 worker進程的個數是可以設置的(一般為CPU核心數-1),后期的nginx版本支持設置為auto ![nginx進程模型](https://box.kancloud.cn/1b98db7341741540a7297a4e7391bbc9_861x436.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看