日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx反向代理+Go服务实践

發(fā)布時間:2024/1/17 Nginx 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx反向代理+Go服务实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

在后端開發(fā)期間,會為前端或者平臺上提供API服務接口,這時、我們看完今天的文章可以詳細了解到Nginx反向代理到后端服務上的過程。

Nginx:

是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務??梢宰龇聪虼?、正向代理,靜態(tài)服務器等。

負載均衡算法:

upstrem支持4種負載均衡調(diào)度算法:

  • 輪詢(weight):每個請求按時間順序逐一分配到不同的后端服務器上,默認為輪詢方式
  • url_hash:按訪問URL的Hash來分配請求
  • ip_hash:按訪問IP的Hash來分配請求,如果用戶的ip固定不變,也同時可以解決session的問題
  • fair:根據(jù)頁面大小和加載時間智能的分配請求,響應時間短的優(yōu)先分配
  • 反向代理:

    客戶端-->代理<-->服務端

    舉例說明:

    比如在北京租房子,我們就好比客戶端,我愛我家中介好比代理,實際上我們不一定能看到房主(服務端)

    我們在租房子的過程中,知道中介是誰,但是不知道房主是誰。

    服務器三臺:

  • server 192.168.0.1
  • server 192.168.0.2
  • server 192.168.0.3
  • webApi服務:

    Go語言基于gin框架開發(fā)的HTTP服務,服務啟動監(jiān)聽10080端口號

    /usr/local/brand/bin/webApi --config-dir=/usr/local/webApi/config api

    Nginx配置:

    # 進程數(shù),一般情況下與CPU個數(shù)一致

    # 進程數(shù),一般情況下與CPU個數(shù)一致 worker_processes 24;events {use epoll;#單個worker process進程的最大并發(fā)鏈接數(shù)worker_connections 65535; }http {# 其他配置省略include vhosts/api.test.com.conf; }

    api.test.com.conf配置:

    server_name為api.test.com,監(jiān)聽80端口,將所有請求轉(zhuǎn)發(fā)到http://192.168.0.*:10080下面

    cat /usr/local/nginx/conf/vhost/api.test.com.conf# 配置負載均衡,均衡負責輪詢的方式進行負載 upstream api.test.com {# server 要代理到的服務器節(jié)點,weight是輪詢的權(quán)重server 192.168.0.1:10080 weight=1;server 192.168.0.2:10080 weight=1;server 192.168.0.3:10080 weight=1; }server {listen 80;server_name api.test.com;access_log /data/log/nginx/api.test.com.access.log;error_log /data/log/nginx/api.test.com.error.log;location / {# proxy_pass 要注意如何url以"/"結(jié)尾,則表示絕對路徑,否則表示相對路徑proxy_pass http://api.test.com;} }

    我們請求后返回:http://api.test.com/d/a?page=1&page_size=20,對應的結(jié)果有5條記錄,這個時候已經(jīng)說明請求是成功的。

    Nginx訪問日志如下:

    ==> /data/log/nginx/api.test.com.access.log <== 192.168.0.123 - - [22/Apr/2020:22:01:01 +0800] "GET /d/a?page=1&page_size=20 HTTP/1.1" 200 656 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36"

    已經(jīng)成功的訪問到了我們的Nginx+Go服務。

    總結(jié)

    本文中實踐了Nginx代理到后端Go服務的知識,部署簡單,實用。

    ?

    ?

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Nginx反向代理+Go服务实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。