国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

分布式 - 服務(wù)器Nginx:一小時入門系列之TCP反向代理和負(fù)載均衡

這篇具有很好參考價值的文章主要介紹了分布式 - 服務(wù)器Nginx:一小時入門系列之TCP反向代理和負(fù)載均衡。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. HTTP反向代理和TCP反向代理

Nginx可以作為HTTP反向代理和TCP反向代理。

HTTP反向代理是指Nginx作為Web服務(wù)器的代理服務(wù)器,接收客戶端的HTTP請求,然后將請求轉(zhuǎn)發(fā)給后端的Web服務(wù)器,最后將Web服務(wù)器的響應(yīng)返回給客戶端。這種方式可以實現(xiàn)負(fù)載均衡、緩存、SSL終止等功能。

TCP反向代理是指Nginx作為TCP服務(wù)器的代理服務(wù)器,接收客戶端的TCP連接請求,然后將請求轉(zhuǎn)發(fā)給后端的TCP服務(wù)器,最后將TCP服務(wù)器的響應(yīng)返回給客戶端。這種方式可以實現(xiàn)負(fù)載均衡、高可用性、SSL終止等功能。TCP反向代理可以用于代理各種TCP協(xié)議,如SMTP、POP3、IMAP、FTP等。

2. http 塊和 stream 塊

在 Nginx 配置文件中,http 塊和 stream 塊是兩種不同的塊類型,它們分別用于處理 HTTP 和 TCP/UDP 流量。http塊用于配置 HTTP 服務(wù)器,包括監(jiān)聽端口、虛擬主機、反向代理、負(fù)載均衡、緩存等功能。stream 塊用于配置 TCP/UDP 服務(wù)器,包括監(jiān)聽端口、負(fù)載均衡、代理等功能。

#HTTP代理
http {
  server {
    listen 8002;
    proxy_pass http://localhost:8080/;
  }
}

#TCP代理
stream {
  server {
    listen 13306;
    proxy_pass localhost:3306;
  }
}

3. TCP反向代理配置

① Nginx 配置文件:/etc/nginx/nginx.conf

user  nginx;
worker_processes  auto;
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    include /etc/nginx/conf.d/*.conf;
}

/etc/nginx/conf.d 目錄是包含在 http 塊中的,所以TCP負(fù)載均衡不能再配置在 /etc/nginx/conf.d 目錄下的配置文件中了,需要和在 nginx.conf 中配置,并且和 http 塊同級。

② Nginx配置文件: /etc/nginx/nginx.conf

user  nginx;
worker_processes  auto;
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    include /etc/nginx/conf.d/*.conf;
}
        
stream {
  server {
    # 監(jiān)聽13306端口
    listen 13306;
    # 將流量代理到本地的3306端口(即MySQL數(shù)據(jù)庫的默認(rèn)端口)
    proxy_pass localhost:3306;
  }
}

MySQL使用TCP協(xié)議來實現(xiàn)客戶端和服務(wù)器之間的通信,而默認(rèn)的端口號是3306。 Nginx配置用于將來自13306端口的MySQL流量代理到本地的3306端口。這種配置通常用于將MySQL服務(wù)器隱藏在Nginx服務(wù)器后面,以提高安全性并允許更好的負(fù)載均衡。

③ 重啟Nginx服務(wù):

[root@nginx-dev ~]# nginx -s reload

④ 利用13306端口連接MySQL:

分布式 - 服務(wù)器Nginx:一小時入門系列之TCP反向代理和負(fù)載均衡,【分布式-服務(wù)器Nginx】,分布式,服務(wù)器,nginx

4. TCP 負(fù)載均衡

user  nginx;
worker_processes  auto;
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    include /etc/nginx/conf.d/*.conf;
}
        
stream {
  
  upstream backend-mysql {
    server localhost:3306;
    server localhost:3307;
    keepalive 8;
  }
  
  server {
    listen 13306;
    proxy_pass backend-mysql;
  }
}

使用keepalive定義連接池里空閑連接的數(shù)量。keepalive_timeout 默認(rèn)60s。如果連接池里的連接空閑時間超過這個值,則連接關(guān)閉。

使用 keepalive 指令啟用從 NGINX Plus 到上游服務(wù)器的保持活動連接,定義在每個工作進(jìn)程的緩存中保留的與上游服務(wù)器的空閑保持活動連接的最大數(shù)量。當(dāng)超過此數(shù)字時,將關(guān)閉最近最少使用的連接。如果沒有 keepalives,您將增加更多的開銷,并且連接和臨時端口都效率低下。文章來源地址http://www.zghlxwxcb.cn/news/detail-674953.html

到了這里,關(guān)于分布式 - 服務(wù)器Nginx:一小時入門系列之TCP反向代理和負(fù)載均衡的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 分布式 - 服務(wù)器Nginx:一小時入門系列之HTTP反向代理

    分布式 - 服務(wù)器Nginx:一小時入門系列之HTTP反向代理

    1. 正向代理和反向代理 正向代理是 客戶端 通過代理服務(wù)器訪問互聯(lián)網(wǎng)資源的方式。在這種情況下,客戶端向代理服務(wù)器發(fā)送請求,代理服務(wù)器再向互聯(lián)網(wǎng)上的服務(wù)器發(fā)送請求,獲取資源并返回給客戶端。正向代理的典型應(yīng)用場景是翻墻,即通過代理服務(wù)器訪問被封鎖的網(wǎng)站

    2024年02月14日
    瀏覽(22)
  • 分布式 - 服務(wù)器Nginx:一小時入門系列之HTTPS協(xié)議配置

    分布式 - 服務(wù)器Nginx:一小時入門系列之HTTPS協(xié)議配置

    1. HTTPS 協(xié)議 HTTPS 是一種通過計算機網(wǎng)絡(luò)進(jìn)行安全通信的協(xié)議。它是HTTP的安全版本,通過使用 SSL 或 TLS 協(xié)議來加密和保護數(shù)據(jù)傳輸。HTTPS的主要目的是確保在客戶端和服務(wù)器之間傳輸?shù)臄?shù)據(jù)是加密的,以防止第三方竊聽、篡改或偽裝。它通過使用公鑰加密和私鑰解密的方式來

    2024年02月11日
    瀏覽(20)
  • 分布式 - 服務(wù)器Nginx:一小時入門系列之代理緩沖與緩存

    分布式 - 服務(wù)器Nginx:一小時入門系列之代理緩沖與緩存

    官方文檔:https://nginx.org/en/docs/http/ngx_http_proxy_module.html 代理緩沖用于臨時存儲從后端服務(wù)器返回的響應(yīng)數(shù)據(jù)。通過使用代理緩沖,Nginx可以在接收完整的響應(yīng)后再將其發(fā)送給客戶端,從而提高性能和效率。 ① 客戶端往往是用戶網(wǎng)絡(luò),情況復(fù)雜,可能出現(xiàn)網(wǎng)絡(luò)不穩(wěn)定,速度較

    2024年02月11日
    瀏覽(23)
  • 分布式 - 服務(wù)器Nginx:一小時入門系列之 HTTPS協(xié)議配置

    分布式 - 服務(wù)器Nginx:一小時入門系列之 HTTPS協(xié)議配置

    1. HTTPS 協(xié)議 HTTPS 是一種通過計算機網(wǎng)絡(luò)進(jìn)行安全通信的協(xié)議。它是HTTP的安全版本,通過使用 SSL 或 TLS 協(xié)議來加密和保護數(shù)據(jù)傳輸。HTTPS的主要目的是確保在客戶端和服務(wù)器之間傳輸?shù)臄?shù)據(jù)是加密的,以防止第三方竊聽、篡改或偽裝。它通過使用公鑰加密和私鑰解密的方式來

    2024年02月11日
    瀏覽(25)
  • 分布式 - 服務(wù)器Nginx:一小時入門系列之TCP反向代理和負(fù)載均衡

    分布式 - 服務(wù)器Nginx:一小時入門系列之TCP反向代理和負(fù)載均衡

    1. HTTP反向代理和TCP反向代理 Nginx可以作為HTTP反向代理和TCP反向代理。 HTTP反向代理是指Nginx作為Web服務(wù)器的代理服務(wù)器,接收客戶端的HTTP請求,然后將請求轉(zhuǎn)發(fā)給后端的Web服務(wù)器,最后將Web服務(wù)器的響應(yīng)返回給客戶端。這種方式可以實現(xiàn)負(fù)載均衡、緩存、SSL終止等功能。 T

    2024年02月11日
    瀏覽(34)
  • Windows服務(wù)器設(shè)置Nginx實現(xiàn)分布式服務(wù)

    Windows服務(wù)器設(shè)置Nginx實現(xiàn)分布式服務(wù)

    下載Nginx-1.16.1版本。解壓到如下目錄: 設(shè)置環(huán)境變量: 檢查版本: 啟動nginx.exe ,出現(xiàn)黑框一閃而過,進(jìn)程中出現(xiàn)如下情況代表啟動成功: 下載wiremock-standalone-2.25.1.jar,可以使用Maven配置pom.xml下載。注意下載standalone版本。新建ServerA、ServerB兩個目錄,分別拷貝jar,新建啟動

    2024年02月07日
    瀏覽(29)
  • 分布式 - 服務(wù)器Nginx:基礎(chǔ)系列之Nginx配置文件結(jié)構(gòu)

    分布式 - 服務(wù)器Nginx:基礎(chǔ)系列之Nginx配置文件結(jié)構(gòu)

    Nginx的核心配置文件默認(rèn)是放在 /usr/local/nginx/conf/nginx.conf : nginx.conf 配置文件中默認(rèn)有三大塊:全局塊、events塊、http塊。其中http 塊中可以配置多個server塊,每個server塊又可以配置多個location塊。 01. user 指令 user指令也可以用于指定Nginx服務(wù)器worker進(jìn)程的運行用戶和用戶組。它

    2024年02月10日
    瀏覽(32)
  • 分布式 - 服務(wù)器Nginx:基礎(chǔ)系列之Nginx簡介 | 下載安裝 | 啟動和停止服務(wù)

    分布式 - 服務(wù)器Nginx:基礎(chǔ)系列之Nginx簡介 | 下載安裝 | 啟動和停止服務(wù)

    Nginx是一個高性能的Web服務(wù)器,同時也是一個反向代理服務(wù)器。它最初是為了解決C10K問題而開發(fā)的,即如何讓一個服務(wù)器同時處理成千上萬個并發(fā)連接。Nginx采用了事件驅(qū)動的異步非阻塞處理方式,能夠高效地處理大量并發(fā)連接,因此被廣泛應(yīng)用于高并發(fā)的Web應(yīng)用場景中。 此

    2024年02月10日
    瀏覽(57)
  • 分布式 - 服務(wù)器Nginx:應(yīng)知應(yīng)會系列之Nginx簡介 | 下載安裝 | 啟動和停止服務(wù)

    分布式 - 服務(wù)器Nginx:應(yīng)知應(yīng)會系列之Nginx簡介 | 下載安裝 | 啟動和停止服務(wù)

    Nginx是一個高性能的Web服務(wù)器,同時也是一個反向代理服務(wù)器。它最初是為了解決C10K問題而開發(fā)的,即如何讓一個服務(wù)器同時處理成千上萬個并發(fā)連接。Nginx采用了事件驅(qū)動的異步非阻塞處理方式,能夠高效地處理大量并發(fā)連接,因此被廣泛應(yīng)用于高并發(fā)的Web應(yīng)用場景中。 此

    2024年02月11日
    瀏覽(59)
  • 分布式 - 服務(wù)器Nginx:基礎(chǔ)系列之Nginx靜態(tài)資源配置優(yōu)化sendfile | tcp_nopush | tcp_nodelay

    分布式 - 服務(wù)器Nginx:基礎(chǔ)系列之Nginx靜態(tài)資源配置優(yōu)化sendfile | tcp_nopush | tcp_nodelay

    1. sendfile 指令 請求靜態(tài)資源的過程:客戶端通過網(wǎng)絡(luò)接口向服務(wù)端發(fā)送請求,操作系統(tǒng)將這些客戶端的請求傳遞給服務(wù)器端應(yīng)用程序,服務(wù)器端應(yīng)用程序會處理這些請求,請求處理完成以后,操作系統(tǒng)還需要將處理得到的結(jié)果通過網(wǎng)絡(luò)適配器傳遞回去。 sendfile 指令是用于將

    2024年02月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包