<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      nginx(1):原理

      學(xué)習(xí)自:Nginx教程(小白必看,看了必會(huì),不看血虧),-CSDN博客

      深入理解 http 反向代理(nginx) - 知乎

      《nginx經(jīng)典教程》

      0、nginx指令

      執(zhí)行nginx命令,要先進(jìn)入到nginx的sbin目錄下。

      或者將該目錄加入到PATH中:export PATH=$PATH:/usr/local/nginx/sbin

      nginx -s stop:快速關(guān)閉ng,并終止web服務(wù),可能不會(huì)保存相關(guān)信息。

      nginx -s quit:優(yōu)雅關(guān)閉ng,有安排地結(jié)束web服務(wù)(先等待Worker進(jìn)程處理完畢當(dāng)前的連接請(qǐng)求)。

      nginx -s reload:重載配置文件

      nginx -s reopen:重啟日志文件

      nginx -c filename:為ng指定一個(gè)新conf文件,而非使用默認(rèn)conf。

      nginx -t:不運(yùn)行ng,只是檢測(cè)conf文件(語法正確性、某些文件能否打開)。

      nginx -v:ng版本

      nginx -V:ng版本、編譯器版本、配置參數(shù)

      1、nginx基本概念

      1)簡(jiǎn)介

      nginx是一個(gè)反向代理服務(wù)器,具有強(qiáng)并發(fā)、少內(nèi)存占用的優(yōu)點(diǎn)。

      2)代理:C端和S端中間的一個(gè)服務(wù)器,可以代表任何一端去獲取另一端的網(wǎng)絡(luò)信息,避免該端直接訪問另一端。

      ①正向代理

      C端通過代理訪問某個(gè)具體的S端,此時(shí)S端不知道真實(shí)的C端地址

      常見應(yīng)用:VPN

      ②反向代理

      S端通過代理接收C端請(qǐng)求,再將請(qǐng)求轉(zhuǎn)發(fā)到內(nèi)網(wǎng)中的具體服務(wù)器上,再將該服務(wù)器上的得到的結(jié)果返回給C端。此時(shí)C端不知道哪臺(tái)S是真正提供服務(wù)的S端,而是由代理服務(wù)器根據(jù)路由規(guī)則轉(zhuǎn)發(fā)到相應(yīng)的原始服務(wù)器。

      反向代理中,用戶訪問的是代理IP(nginx服務(wù)器),而非最終的S端IP

      常見應(yīng)用:nginx。

      不論正向代理還是反向代理,后端的服務(wù)器一般都看不到初始請(qǐng)求發(fā)起的IP,通常該項(xiàng)會(huì)通過一定策略保存在HTTP請(qǐng)求頭中。 

      ③區(qū)別

      用戶設(shè)置

      • 正向代理需要我們主動(dòng)設(shè)置服務(wù)器IP域名進(jìn)行訪問,返回的訪問內(nèi)容也是這些服務(wù)器上的;

      反向代理對(duì)用戶沒有任何設(shè)置要求,也是訪問服務(wù)器的IP或域名,但是服務(wù)器會(huì)自動(dòng)根據(jù)訪問內(nèi)容進(jìn)行跳轉(zhuǎn)+內(nèi)容返回最終訪問的服務(wù)器是未知的。

      代理對(duì)象

      • 正向代理——為C端做代理,幫助C端訪問其無法訪問的S端資源;
      • 反向代理——為S端做代理,幫助S端做負(fù)載均衡、安全防護(hù)。

      可見性

      • 正向代理——為C端做代理,為C端收發(fā)請(qǐng)求,使S端看不到真實(shí)的C端;
      • 反向代理——為S端做代理,為S端收發(fā)請(qǐng)求,使C端看不到真實(shí)的S端;

      網(wǎng)段

      • 正向代理——Proxy和C端位于同一個(gè)LAN,對(duì)S端透明;
      • 反向代理——Proxy與S端位于同一個(gè)LAN,對(duì)C端透明。

      3)nginx功能

      ①反向代理

      ②負(fù)載均衡

      nginx通過它的http塊下的upstream塊實(shí)現(xiàn)負(fù)載均衡。

       

      單個(gè)Web服務(wù)器不能承載日益增長(zhǎng)的并發(fā)請(qǐng)求量,因此我們需要不斷擴(kuò)張Web應(yīng)用服務(wù)器來支持更高的并發(fā)請(qǐng)求,并將請(qǐng)求均勻分配到各個(gè)應(yīng)用服務(wù)器上,此為負(fù)載均衡

      nginx提供的負(fù)載均衡策略有2種:內(nèi)置、擴(kuò)展

      內(nèi)置:一些內(nèi)置的負(fù)載均衡策略——輪詢、加權(quán)輪詢、IP hash。

      擴(kuò)展:根據(jù)需要自己寫負(fù)載均衡算法并實(shí)現(xiàn)。

      ③動(dòng)靜分離

      為了加快網(wǎng)站解析速度,將動(dòng)態(tài)頁面、靜態(tài)頁面交給不同服務(wù)器來解析,加快解析速度,降低單個(gè)服務(wù)器的壓力。

      Nginx的靜態(tài)處理能力很強(qiáng),但是動(dòng)態(tài)處理能力不足,因此實(shí)際應(yīng)用中常用動(dòng)靜分離技術(shù)。對(duì)于靜態(tài)資源圖片、JS、CSS等文件,可以放在nginx服務(wù)器中緩存。這樣瀏覽器在請(qǐng)求一個(gè)靜態(tài)資源時(shí),nginx就可以直接處理,無需將請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)器tomcat。

      對(duì)于動(dòng)態(tài)資源,比如servlet,jsp則轉(zhuǎn)發(fā)給Tomcat服務(wù)器處理,從而實(shí)現(xiàn)動(dòng)靜分離

      例如,將靜態(tài)文件放在一個(gè)單獨(dú)的Web服務(wù)器上。

       

      2、nginx源碼結(jié)構(gòu)

      從nginx官網(wǎng)下載的nginx.tar.gz壓縮包,解壓后(此時(shí)還未編譯安裝)的nginx目錄下有如下文件目錄:

       布局是從上往下、從左往右、先大寫后小寫的形式。

      部分常用文件及目錄的功能(nginx經(jīng)典教程 12頁):

      • auto:安裝過程中配置環(huán)境所用到的自動(dòng)化腳本
      • CHANGES:版本歷史及更新紀(jì)要
      • CHANGES.ru:俄文版版本歷史
      • conf:配置目錄
      • configure編譯過程的總驅(qū)動(dòng)
      • contrib:必要的功能腳本或可導(dǎo)入配置
      • html默認(rèn)頁面(index.html)和錯(cuò)誤頁面(50x.html)所在目錄
      • logs:日志目錄
      • sbin:nginx命令目錄(啟停nginx)
      • src:源碼目錄

      一些常用目錄及文件的具體說明

      auto

      存放一些自動(dòng)化腳本,用于實(shí)現(xiàn)nginx自動(dòng)化安裝、環(huán)境配置

      configure

      編譯nginx的自動(dòng)化配置腳本,是編譯過程的總驅(qū)動(dòng),該腳本運(yùn)行完畢會(huì)生成部分C代碼同時(shí)生成Makefile文件

      conf

      存放nginx的配置文件,這些文件在安裝之后會(huì)被復(fù)制到目錄/usr/local/nginx/conf目錄下。

      配置文件以conf結(jié)尾,有的文件以.default結(jié)尾,代表備份,方便恢復(fù)初始狀態(tài)

      該目錄下的文件有5種類型:

      fastcgi*:包含F(xiàn)astCGI相關(guān)參數(shù)的配置;

      mime.types:媒體類型的文件;

      nginx.conf:NGINX默認(rèn)主配置文件;

      scgi_params:包含SCGI相關(guān)參數(shù)的配置;

      uwsgi_params:包含uWSGI相關(guān)參數(shù)的配置。

      其中FastCGI、SCGI、uWSGI具有結(jié)合外部應(yīng)用的能力

      關(guān)于nginx.conf的詳細(xì)說明,見nginx:配置文件(nginx.conf)各項(xiàng)說明 - ShineLe - 博客園

      conf文件中以default為后綴的文件代表備份文件,方便恢復(fù)剛安裝好nginx時(shí)這些文件的初始配置

      html:默認(rèn)的站點(diǎn)目錄——首頁、錯(cuò)誤頁面

      logs:日志

      sbin:nginx服務(wù)命令——重啟、關(guān)閉、啟動(dòng)、狀態(tài)

      src:NGINX的源碼目錄

      3、nginx安裝

      第2步只是實(shí)現(xiàn)了從官網(wǎng)安裝nginx.tar.gz壓縮包文件,要想使用nginx還要安裝,安裝過程見:

      Linux:安裝部署Tomcat和Nginx - ShineLe - 博客園

      4、nginx進(jìn)程結(jié)構(gòu)

      nginx進(jìn)程空間由一個(gè)Master進(jìn)程和多個(gè)Worker進(jìn)程組成。

      M負(fù)責(zé)讀取、評(píng)估配置,并維護(hù)W進(jìn)程。

      W負(fù)責(zé)實(shí)際工作,處理具體的請(qǐng)求。

      nginx采用的是事件驅(qū)動(dòng)機(jī)制,會(huì)給每個(gè)Worker進(jìn)程有效地分配請(qǐng)求。

      W進(jìn)程的數(shù)量可以在配置文件中自定義(worker_processes),也可以用默認(rèn)值,即可用的CPU內(nèi)核數(shù)

      5、nginx指令的作用機(jī)制

      第0節(jié):指令中,給出了一些常用的nginx指令:

      nginx -s quit,優(yōu)雅關(guān)閉ng。之所以稱為優(yōu)雅,是因?yàn)榇藭r(shí)quit不會(huì)導(dǎo)致M立即退出,而是會(huì)等待Worker進(jìn)程處理完畢當(dāng)前的連接請(qǐng)求之后再退出。

      nginx -s reload,系統(tǒng)會(huì)給M進(jìn)程發(fā)送reload信號(hào)。當(dāng)M收到了reload之后,會(huì)檢查新配置文件的語法有效性并嘗試送新配置。順利的話,M會(huì)啟動(dòng)新的W,并向舊W發(fā)送消息,請(qǐng)求它們關(guān)閉。失敗的話,M會(huì)回滾更新并繼續(xù)用舊配置。

      W在收到關(guān)閉命令之后,會(huì)停止就收新連接并繼續(xù)服務(wù)當(dāng)前請(qǐng)求,直到所有當(dāng)前請(qǐng)求都得到服務(wù),此時(shí)舊W退出。

      有時(shí)我們也會(huì)用kill命令給進(jìn)程發(fā)信號(hào),這個(gè)命令中會(huì)直接寫明進(jìn)程ID,信號(hào)會(huì)被發(fā)給這個(gè)ID對(duì)應(yīng)的進(jìn)程(M或W),而非統(tǒng)一發(fā)給M。

      kill -s QUIT 28622

      如果28622對(duì)應(yīng)W進(jìn)程,那么該W會(huì)直接退出。但由于M會(huì)自動(dòng)檢測(cè)并保證W狀態(tài),所以新的W會(huì)被拉起。

      如果28622對(duì)應(yīng)M進(jìn)程,那么相當(dāng)于執(zhí)行nginx -s quit,nginx會(huì)優(yōu)雅終止所有W,之后nginx自身也會(huì)終止。

       

      第0節(jié):指令中,nginx后跟的參數(shù)有-s -c -t,但其實(shí)可用的不止這些,具體可以通過nginx -h查看。

      -s代表signal,表明會(huì)向M節(jié)點(diǎn)發(fā)一個(gè)指令。

      -c代表configuration,代表指定配置文件。

      -g代表global,允許我們以命令行的方式自定義conf文件中的global塊,如worker_processes、user、error_log。

       

      6、例子

      Web服務(wù)器的一個(gè)重要任務(wù)是提供靜態(tài)文件Web服務(wù)(HTML頁面、圖像)

      本例通過修改conf文件實(shí)現(xiàn),不同請(qǐng)求從不同的本地目錄獲取文件內(nèi)容:從/data/www獲取HTML靜態(tài)頁面從data/images目錄獲取圖像。

      1)創(chuàng)建/data/www,放入index.html文件,創(chuàng)建/data/images:

      mkdir -p /data/www
      mkdir /data/images
      cp /usr/local/nginx/html/index.html /data/www

      2)新建配置文件/root/nginx.conf

      user root;
      worker_processes 1;
      events {
              worker_connections 1024;
      }
      http {
              server {
                      location / {
                          root /data/www;
                      }
                      location /images/{
                          root /data;
                      }
              }
      }

      一個(gè)conf可以有多個(gè)server塊,它們通過listen和server_name進(jìn)行區(qū)分。

      NGINX會(huì)根據(jù)請(qǐng)求的host、URL來決定由哪個(gè)server塊下的哪個(gè)location塊來處理。

      上文用location /和location /images/來讓nginx服務(wù)器分別匹配URI中以//images/開頭的匹配項(xiàng)。

      nginx匹配時(shí)會(huì)選擇具有最長(zhǎng)前綴的location塊。因此location /只有當(dāng)其他所有l(wèi)ocation都無法匹配到時(shí)會(huì)使用。

      3)啟動(dòng)nginx

      去nginx的sbin目錄下,依次執(zhí)行以下命令:

      ./nginx -c /root/nginx.conf #使用我們剛剛建立的這個(gè)nginx conf文件
      ./nginx -s reload

      4)測(cè)試

      打開本地瀏覽器,輸入http://192.168.10.11:80,出現(xiàn)如下nginx提示頁面,代表nginx成功啟動(dòng)

       

      posted @ 2023-11-29 14:55  ShineLe  閱讀(86)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 欧美黑人大战白嫩在线| 国产情侣激情在线对白| 精品少妇无码一区二区三批| 日韩精品视频一二三四区| 综合在线 亚洲 成人 欧美 | 九九在线精品国产| 国产在线啪| 墨玉县| 亚洲精品国产精品不乱码| 国产精品无码无卡在线播放| 亚洲综合一区二区国产精品| 亚洲欧美人成电影在线观看 | 上饶县| 成人精品一区二区三区四| 中文字幕国产原创国产| 91人妻无码成人精品一区91| 景宁| 狠狠亚洲超碰狼人久久| 亚洲大尺度无码专区尤物| 亚洲人成人网站色www| 国产尤物精品自在拍视频首页| 国产互换人妻xxxx69| 日本国产精品第一页久久| 国产成人精品免费视频app软件| 在线观看中文字幕国产码| 人妻中文字幕亚洲精品| 大又大又粗又硬又爽少妇毛片 | 内射老阿姨1区2区3区4区| 亚洲欧洲日韩国内高清| 人人做人人妻人人精| 九九热99精品视频在线| 92国产精品午夜福利免费| 中文字幕日韩精品有码| 人妻少妇精品视频三区二区| 欧美日韩亚洲国产| 无线乱码一二三区免费看| 18禁动漫一区二区三区| 成人动漫综合网| 欧美不卡无线在线一二三区观| 亚洲伊人情人综合网站| 精品久久人人做爽综合|