最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前端nginx部署詳細(xì)圖文教程

 更新時(shí)間:2024年03月18日 09:37:27   作者:serein6  
在前端開發(fā)過程中經(jīng)常是需要把前端靜態(tài)資源放到服務(wù)器中看效果,這時(shí)經(jīng)常用到nginx來配置,下面這篇文章主要給大家介紹了關(guān)于前端nginx部署的相關(guān)資料,需要的朋友可以參考下

一、nginx是什么

nginx官方介紹:

“Nginx是一款輕量級(jí)的HTTP服務(wù)器,采用事件驅(qū)動(dòng)的異步非阻塞處理方式框架,這讓其具有極好的IO性能,時(shí)常用于服務(wù)端的反向代理和負(fù)載均衡。”

nginx的優(yōu)點(diǎn)

  • 支持海量高并發(fā):采用IO多路復(fù)用epoll。官方測(cè)試Nginx能夠支持5萬并發(fā)鏈接,實(shí)際生產(chǎn)環(huán)境中可以支撐2-4萬并發(fā)連接數(shù)。
  • 內(nèi)存消耗少
  • 可商業(yè)化
  • 配置文件簡(jiǎn)單 除了這些優(yōu)點(diǎn)還有很多,比如反向代理功能,灰度發(fā)布,負(fù)載均衡功能等

二、安裝

  • linux 如果是centos大家也可以直接用yum安裝也是很方便的
  • window
  • 通過docker安裝(推薦)。

三、配置文件

cd /conf/nginx				進(jìn)入配置文件目錄
vi nginx.conf				配置文件
docker logs 鏡像名			查看錯(cuò)誤log
docker restart 鏡像名		配置后重啟 

1. 配置文件的結(jié)構(gòu)介紹

為了讓大家有個(gè)簡(jiǎn)單的輪廓,這里先對(duì)配置文件做一個(gè)簡(jiǎn)單的描述:

worker_processes  1;                			# worker進(jìn)程的數(shù)量
events {                              			# 事件區(qū)塊開始
    worker_connections  1024;          		# 每個(gè)worker進(jìn)程支持的最大連接數(shù)
}                               			# 事件區(qū)塊結(jié)束
http {                           			# HTTP區(qū)塊開始
    include       mime.types;         			# Nginx支持的媒體類型庫(kù)文件
    default_type  application/octet-stream;            # 默認(rèn)的媒體類型
    sendfile        on;       				# 開啟高效傳輸模式
    keepalive_timeout  65;       			# 連接超時(shí)
    server {            		                # 第一個(gè)Server區(qū)塊開始,表示一個(gè)獨(dú)立的虛擬主機(jī)站點(diǎn)
        listen       80;      			        # 提供服務(wù)的端口,默認(rèn)80
        server_name  localhost;    			# 提供服務(wù)的域名主機(jī)名
        location / {            	        	# 第一個(gè)location區(qū)塊開始
            root   html;       			# 站點(diǎn)的根目錄,相當(dāng)于Nginx的安裝目錄
            index  index.html index.htm;       	# 默認(rèn)的首頁(yè)文件,多個(gè)用空格分開
        }          				        # 第一個(gè)location區(qū)塊結(jié)果
        error_page   500502503504  /50x.html;          # 出現(xiàn)對(duì)應(yīng)的http狀態(tài)碼時(shí),使用50x.html回應(yīng)客戶
        location = /50x.html {          	        # location區(qū)塊開始,訪問50x.html
            root   html;      		      	        # 指定對(duì)應(yīng)的站點(diǎn)目錄為html
        }
    }  
    ......

2.location匹配

    #優(yōu)先級(jí)1,精確匹配,根路徑
    location =/ {
        return 400;
    }
 
    #優(yōu)先級(jí)2,以某個(gè)字符串開頭,以av開頭的,優(yōu)先匹配這里,區(qū)分大小寫
    location ^~ /av {
       root /data/av/;
    }
 
    #優(yōu)先級(jí)3,區(qū)分大小寫的正則匹配,匹配/media*****路徑
    location ~ /media {
          alias /data/static/;
    }
 
    #優(yōu)先級(jí)4 ,不區(qū)分大小寫的正則匹配,所有的****.jpg|gif|png 都走這里
    location ~* .*\.(jpg|gif|png|js|css)$ {
       root  /data/av/;
    }
 
    #優(yōu)先7,通用匹配
    location / {
        return 403;
    }

四、nginx反向代理

1.正向代理

正向代理,“它代理的是客戶端”,是一個(gè)位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端??蛻舳吮仨氁M(jìn)行一些特別的設(shè)置才能使用正向代理 正向代理的用途:

  • 訪問原來無法訪問的資源,如Google
  • 可以做緩存,加速訪問資源
  • 對(duì)客戶端訪問授權(quán),上網(wǎng)進(jìn)行認(rèn)證
  • 代理可以記錄用戶訪問記錄(上網(wǎng)行為管理),對(duì)外隱藏用戶信息

2.反向代理

反向代理,“它代理的是服務(wù)端”,主要用于服務(wù)器集群分布式部署的情況下,反向代理隱藏了服務(wù)器的信息 反向代理的作用:

  • 保證內(nèi)網(wǎng)的安全,通常將反向代理作為公網(wǎng)訪問地址,Web服務(wù)器是內(nèi)網(wǎng)
  • 負(fù)載均衡,通過反向代理服務(wù)器來優(yōu)化網(wǎng)站的負(fù)載

3.負(fù)載均衡

服務(wù)器接收不同客戶端發(fā)送的、Nginx反向代理服務(wù)器接收到的請(qǐng)求數(shù)量,就是我們說的負(fù)載量。 這些請(qǐng)求數(shù)量按照一定的規(guī)則進(jìn)行分發(fā)到不同的服務(wù)器處理的規(guī)則,就是一種均衡規(guī)則。 所以,將服務(wù)器接收到的請(qǐng)求按照規(guī)則分發(fā)的過程,稱為負(fù)載均衡
負(fù)載均衡也分硬件負(fù)載均衡和軟件負(fù)載均衡兩種,我們來講的是軟件負(fù)載均衡,關(guān)于硬件負(fù)載均衡的有興趣的靚仔可以去了解下 負(fù)載均衡的算法:

  • 輪詢(默認(rèn)、加權(quán)輪詢、ip_hash)
  • 插件(fair、url_hash),url_hash和ip_hash大同小異,一個(gè)基于ip一個(gè)基于url,就不過多介紹了

默認(rèn)輪詢

每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端某個(gè)服務(wù)器宕機(jī),能自動(dòng)剔除故障系統(tǒng)。

# constPolling 作為存放負(fù)載均衡的變量
upstream constPolling {
    server localhost:10001; 
    server localhost:10002;
}
server {
    listen 10000;
    server_name localhost;
    location / {
    proxy_pass http://constPolling; #在代理的時(shí)候接入constPolling
    proxy_redirect default;
    }
}

加權(quán)輪詢

通過設(shè)置weight,值越大分配率越大 到的訪問概率越高,主要用于后端每臺(tái)服務(wù)器性能不均衡的情況下。其次是為在主從的情況下設(shè)置不同的權(quán)值,達(dá)到合理有效的地利用主機(jī)資源。

# constPolling 作為存放負(fù)載均衡的變量
upstream constPolling {
    server localhost:10001 weight=1; 
    server localhost:10002 weight=2;
}
server {
    listen 10000;
    server_name localhost;
    location / {
    proxy_pass http://constPolling; #在代理的時(shí)候接入constPolling
    proxy_redirect default;
    }
}

權(quán)重越大,被訪問的概率越大,比如上面就是33.33%和百分66.66%的訪問概率 訪問的效果:
localhost:10001、localhost:10002、localhost:10002、localhost:10001、localhost:10002、localhost:10002

ip_hash
每個(gè)請(qǐng)求都根據(jù)訪問ip的hash結(jié)果分配,經(jīng)過這樣的處理,每個(gè)訪客固定訪問一個(gè)后端服務(wù),如下配置(ip_hash可以和weight配合使用),并且可以有效解決動(dòng)態(tài)網(wǎng)頁(yè)存在的session共享問題

upstream constPolling {
       ip_hash; 
       server    localhost:10001 weight=1;
       server    localhost:10002 weight=2;
}

fair

個(gè)人比較喜歡用的一種負(fù)載均衡算法,fair算法可以根據(jù)頁(yè)面大小和加載時(shí)間長(zhǎng)短智能地進(jìn)行負(fù)載均衡,響應(yīng)時(shí)間短的優(yōu)先分配。

安裝upstream_fair模塊 附上fair安裝教程
哪個(gè)服務(wù)器的響應(yīng)速度快,就將請(qǐng)求分配到那個(gè)服務(wù)器上

upstream constPolling { 
 server    localhost:10001;
 server    localhost:10002;
 fair; 
} 

五、nginx錯(cuò)誤頁(yè)面配置、開啟Gzip壓縮配置

1.錯(cuò)誤頁(yè)配置

當(dāng)我們?cè)L問的地址不存在的時(shí)候,我們可以根據(jù)http狀態(tài)碼來做對(duì)應(yīng)的處理,我們以404為例

2.Gzip壓縮

Gzip是網(wǎng)頁(yè)的一種網(wǎng)頁(yè)壓縮技術(shù),經(jīng)過gzip壓縮后,頁(yè)面大小可以變?yōu)樵瓉淼?0%甚至更小。更小的網(wǎng)頁(yè)會(huì)讓用戶瀏覽的體驗(yàn)更好,速度更快。gzip網(wǎng)頁(yè)壓縮的實(shí)現(xiàn)需要瀏覽器和服務(wù)器的支持

gzip是需要服務(wù)器和瀏覽器同時(shí)支持的。當(dāng)瀏覽器支持gzip壓縮時(shí),會(huì)在請(qǐng)求消息中包含Accept-Encoding:gzip,這樣Nginx就會(huì)向?yàn)g覽器發(fā)送聽過gzip后的內(nèi)容,同時(shí)在相應(yīng)信息頭中加入Content-Encoding:gzip,聲明這是gzip后的內(nèi)容,告知瀏覽器要先解壓后才能解析輸出。 如果項(xiàng)目是在ie或者一些兼容性比較低瀏覽器上運(yùn)行的,需要去查閱確定是否瀏覽器支持gzip

server {
    listen 12089;
    index index.php index.html;
    error_log /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/html/gzip;
    # 開啟gzip壓縮
    gzip on;
    # http請(qǐng)求版本
    gzip_http_version 1.0;
    # 設(shè)置什么類型的文件需要壓縮
    gzip_types text/css text/javascript application/javascript image/png image/jpeg image/gif;
    location / {
    index index.html index.htm index.php;
    autoindex off;
    }
}

六、nginx綜合使用場(chǎng)景

  • 同一個(gè)域名通過不同目錄指定不同項(xiàng)目目錄
    在開發(fā)過程中,有一種場(chǎng)景,比如有項(xiàng)目有多個(gè)子系統(tǒng)需要通過同一個(gè)域名通過不同目錄去訪問 在A/B Test 灰度發(fā)布等場(chǎng)景也會(huì)用上
    比如:
    訪問 a.com/a/*** 訪問的是a系統(tǒng)
    訪問 a.com/b/*** 訪問的是b系統(tǒng)

  • 自動(dòng)適配PC/移動(dòng)端頁(yè)面

  • 限制只能通過谷歌瀏覽器訪問

  • 前端單頁(yè)面應(yīng)用刷新404問題

七、常用全局變量

變量含義
$args這個(gè)變量等于請(qǐng)求行中的參數(shù),同$query_string
$content length請(qǐng)求頭中的Content-length字段。
$content_type請(qǐng)求頭中的Content-Type字段。
$document_root當(dāng)前請(qǐng)求在root指令中指定的值。
$host請(qǐng)求主機(jī)頭字段,否則為服務(wù)器名稱。
$http_user_agent客戶端agent信息
$http_cookie客戶端cookie信息
$limit_rate這個(gè)變量可以限制連接速率。
$request_method客戶端請(qǐng)求的動(dòng)作,通常為GET或POST。
$remote_addr客戶端的IP地址。
$remote_port客戶端的端口。
$remote_user已經(jīng)經(jīng)過Auth Basic Module驗(yàn)證的用戶名。
$request_filename當(dāng)前請(qǐng)求的文件路徑,由root或alias指令與URI請(qǐng)求生成。
$schemeHTTP方法(如http,https)。
$server_protocol請(qǐng)求使用的協(xié)議,通常是HTTP/1.0或HTTP/1.1。
$server_addr服務(wù)器地址,在完成一次系統(tǒng)調(diào)用后可以確定這個(gè)值。
$server_name服務(wù)器名稱。
$server_port請(qǐng)求到達(dá)服務(wù)器的端口號(hào)。
$request_uri包含請(qǐng)求參數(shù)的原始URI,不包含主機(jī)名,如”/foo/bar.php?arg=baz”。
$uri不帶請(qǐng)求參數(shù)的當(dāng)前URI,$uri不包含主機(jī)名,如”/foo/bar.html”。
$document_uri與$uri相同。

總結(jié) 

到此這篇關(guān)于前端ngnix部署的文章就介紹到這了,更多相關(guān)前端ngnix部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx反向代理如何替換URL

    nginx反向代理如何替換URL

    這篇文章主要介紹了nginx反向代理如何替換URL問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 深入理解Nginx之error_page模塊的使用

    深入理解Nginx之error_page模塊的使用

    error_page是nginx一個(gè)重要的指令,作用是定制化服務(wù)器錯(cuò)誤頁(yè)面,本文主要介紹了Nginx之error_page模塊的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Nginx中日志模塊的應(yīng)用和配置應(yīng)用示例

    Nginx中日志模塊的應(yīng)用和配置應(yīng)用示例

    Nginx是一款高性能的HTTP和反向代理服務(wù)器,廣泛應(yīng)用于互聯(lián)網(wǎng)領(lǐng)域,這篇文章主要介紹了Nginx中日志模塊的應(yīng)用和配置,下面通過一個(gè)簡(jiǎn)單的實(shí)例來演示Nginx日志模塊的應(yīng)用和配置,需要的朋友可以參考下
    2024-02-02
  • Nginx?Tomcat負(fù)載均衡動(dòng)靜分離原理解析

    Nginx?Tomcat負(fù)載均衡動(dòng)靜分離原理解析

    這篇文章主要為大家介紹了Nginx?Tomcat負(fù)載均衡動(dòng)靜分離原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Nginx實(shí)現(xiàn)清除緩存內(nèi)容

    Nginx實(shí)現(xiàn)清除緩存內(nèi)容

    NGINX可以從緩存中刪除舊的和過期的緩存文件,本文主要介紹了Nginx實(shí)現(xiàn)清除緩存內(nèi)容,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • Nginx常見的錯(cuò)誤配置舉例

    Nginx常見的錯(cuò)誤配置舉例

    這篇文章主要介紹了Nginx常見的錯(cuò)誤配置舉例,幫助大家更好的理解和學(xué)習(xí)使用Nginx,感興趣的朋友可以了解下
    2021-03-03
  • nginx配置解決跨域訪問的方法詳解

    nginx配置解決跨域訪問的方法詳解

    這篇文章主要為大家詳細(xì)介紹了nginx如何配置解決跨域訪問的方法,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • Nginx 啟動(dòng)、停止、重啟、升級(jí)操作命令收集

    Nginx 啟動(dòng)、停止、重啟、升級(jí)操作命令收集

    也許你不知道什么是Nginx,Nginx是一個(gè)WEB服務(wù)器,如IIS那樣,現(xiàn)在好多門戶都在使用了Nginx作為WEB服務(wù)器了,Nginx在Linux系統(tǒng)下跑很優(yōu)秀,強(qiáng)過其它的WEB服務(wù)端,還可以做負(fù)載均衡,很不錯(cuò)吧。
    2010-10-10
  • Nginx限制IP訪問某些頁(yè)面的操作

    Nginx限制IP訪問某些頁(yè)面的操作

    這篇文章主要介紹了Nginx限制IP訪問某些頁(yè)面的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書)

    Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書)

    這篇文章主要介紹了Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06

最新評(píng)論

延庆县| 罗源县| 新乡市| 平塘县| 永新县| 云梦县| 武汉市| 全州县| 潮州市| 商城县| 绍兴县| 衢州市| 应城市| 浮梁县| 休宁县| 壶关县| 云浮市| 巴林左旗| 南和县| 如东县| 洞头县| 哈尔滨市| 岳西县| 册亨县| 井冈山市| 同仁县| 桂东县| 武威市| 蒙城县| 滦南县| 连云港市| 白朗县| 海门市| 竹山县| 延川县| 全椒县| 抚州市| 昌都县| 元氏县| 阳泉市| 德惠市|