<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Nginx 快速入門

    VSole2022-05-11 16:36:35

    一、nginx簡介

    1、什么是Nginx

    Nginx 是?款?性能的 http 服務器/反向代理服務器及電?郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設計師伊?爾·?索夫(Igor Sysoev)所開發,官?測試 nginx 能夠??撐 5 萬并發鏈接,并且cpu、內存等資源消耗卻?常低,運??常穩定。


    Nginx應?場景:

    1、http 服務器。 Nginx 是?個 http 服務可以獨?提供 http 服務。可以做??靜態服務器。

    2、虛擬主機。 可以實現在?臺服務器虛擬出多個?站。例如個??站使?的虛擬主機。

    3、反向代理,負載均衡。 當?站的訪問量達到?定程度后,單臺服務器不能滿??戶的請求時,需要?多臺服務器集群可以使? nginx 做反向代理。并且多臺服務器可以平均分擔負載,不會因為某臺服務器負載?宕機?某臺服務器閑置的情況。


    二、Nginx安裝

    1、搜索nginx鏡像

    docker search nginx
    

    2、拉取nginx鏡像

    docker pull nginx
    

    3、創建容器,設置端?映射、?錄映射

    # 在/root?錄下創建nginx?錄?于存儲nginx數據信息
    mkdir ~/nginx
    cd ~/nginx
    mkdir conf
    cd conf
    # 在~/nginx/conf/下創建nginx.conf?件,粘貼下?內容
    vim nginx.conf
    user nginx;
    worker_processes 1;
    error_log /var/log/nginx/error.log warn;
    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;
      #tcp_nopush on;
      keepalive_timeout 65;
      #gzip on;
      include /etc/nginx/conf.d/*.conf;
    }
    

    ~/nginx/conf.d/80.conf

    server {
     listen 80; # 監聽的端?
     server_name localhost; # 域名或ip
     location / { # 訪問路徑配置
     root /usr/share/nginx/html;# 根?錄
     index index.html index.htm; # 默認??
     }
     error_page 500 502 503 504 /50x.html; # 錯誤??
     location = /50x.html {
     root html;
     }
    }
    #docker容器創建掛載
    docker run -id --name=c_nginx \
    -p 80:80 \
    -p 81:81 \
    -p 82:82 \
    -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
    -v $PWD/conf.d:/etc/nginx/conf.d \
    -v $PWD/logs:/var/log/nginx \
    -v $PWD/html:/usr/share/nginx/html \
    nginx
    

    1、-p 80:80:將容器的 80端?映射到宿主機的 80 端?。

    2、-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:將主機當前?錄下的/conf/nginx.conf 掛載到容器的 /etc/nginx/nginx.conf配置?錄

    3、-v $PWD/logs:/var/log/nginx:將主機當前?錄下的 logs ?錄掛載到容器的/var/log/nginx?志?錄


    三、Nginx靜態?站部署

    1、靜態?站的部署

    /資料/靜態??/index?錄下的所有內容 上傳到服務器的/usr/local/nginx/html下即可訪問


    2、 配置虛擬主機

    nginx虛擬主機,也叫“?站空間”,就是把?臺運?在互聯?上的物理服務器劃分成多個“虛擬”服務器。虛擬主

    機技術極?的促進了?絡技術的應?和普及。同時虛擬主機的租?服務也成了?絡時代的?種新型經濟形式。


    2.1、端?綁定

    1)上傳靜態?站:

    • 將/資料/靜態??/index?錄上傳? /usr/local/nginx/index
    • 將/資料/靜態??/regist?錄上傳? /usr/local/nginx/regist

    2)修改Nginx 的配置?件:~/nginx/config.d/port.conf

    server {
      listen 81; # 監聽的端?
     server_name localhost; # 域名或ip
      location / { # 訪問路徑配置
       root /usr/share/nginx/index;# 根?錄
       index index.html index.htm; # 默認??
      }
     error_page 500 502 503 504 /50x.html; # 錯誤??
      location = /50x.html {
       root html;
      }
     }
     server {
      listen 82; # 監聽的端?
      server_name localhost; # 域名或ip
      location / { # 訪問路徑配置
       root /usr/share/nginx/regist;# 根?錄
       index regist.html; # 默認??
      }
      error_page 500 502 503 504 /50x.html; # 錯誤??
      location = /50x.html {
       root html;
      }
     
     }
    

    3)訪問測試:

    地址欄輸?http://你的虛擬機IP/:81 可以看到???
    地址欄輸?http://你的虛擬機IP/:82 可以看到注冊??
    

    三、Nginx反向代理與負載均衡

    1、反向代理

    1.1、什么是反向代理

    反向代理(Reverse Proxy)?式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部?絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為?個反向代理服務器。

    ?先我們先理解正向代理,如下圖:

    正向代理是針對你的客戶端,?反向代理是針對服務器的,如下圖:

    1.2、配置反向代理準備?作

    在docker中部署tomcat

    1、搜索tomcat鏡像

    docker search tomcat
    

    2、拉取tomcat鏡像

    docker pull tomcat
    

    3、創建容器,設置端?映射、?錄映射

    # 在/root?錄下創建tomcat?錄?于存儲tomcat數據信息
    mkdir ~/tomcat
    cd ~/tomcat
    docker run -id --name=c_tomcat \
    -p 8080:8080 \
    -v $PWD:/usr/local/tomcat/webapps \
    tomcat
    

    參數說明:

    -p 8080:8080: 將容器的8080端?映射到主機的8080端?

    -v $PWD:/usr/local/tomcat/webapps: 將主機中當前?錄掛載到容器的webapps

    4、 使?外部機器訪問tomcat


    1.3 配置反向代理

    ~/nginx/config.d/proxy.conf

    upstream tomcat-me{
     server 192.168.220.12:8080;
    }
     server {
      listen 80; # 監聽的端?
      server_name www.me.com; # 域名或ip
      location / { # 訪問路徑配置
       # root index;# 根?錄
       proxy_pass http://tomcat-me;
       index index.html index.htm; # 默認?? 
      }
     }
    

    重新啟動Nginx 然后?瀏覽器測試:http://www.me.com (此域名須配置域名指向)


    2、負載均衡

    2.1 什么是負載均衡

    負載均衡建?在現有?絡結構之上,它提供了?種廉價有效透明的?法擴展?絡設備和服務器的帶寬、增加吞吐量、加強?絡數據處理能?、提??絡的靈活性和可?性。

    負載均衡,英?名稱為Load Balance,其意思就是分攤到多個操作單元上進?執?,例如Web服務器、FTP服務器、企業關鍵應?服務器和其它關鍵任務服務器等,從?共同完成?作任務。


    2.2 配置負載均衡準備?作

    (1)使?docker創建3個tomcat容器,端?分別為8080 ,8081,8082 。

    docker run -id --name=c_tomcat1 \
    -p 8081:8080 \
    -v $PWD:/usr/local/tomcat/webapps \
    tomcat
    docker run -id --name=c_tomcat2 \
    -p 8082:8080 \
    -v $PWD:/usr/local/tomcat/webapps \
    tomcat
    docker run -id --name=c_tomcat3 \
    -p 8083:8080 \
    -v $PWD:/usr/local/tomcat/webapps \
    tomcat
    

    (2)分別啟動這三個tomcat服務。

    (3)為了能夠區分是訪問哪個服務器的?站,可以在??標題加上標記以便區分。


    2.3 配置負載均衡

    修改 Nginx配置?件:lb.conf

     upstream tomcat-huike {
      server 192.168.220.12:8080;
     server 192.168.220.12:8081;
      server 192.168.220.12:8082;
     }
     server {
      listen 80; # 監聽的端?
      server_name www.huike.com; # 域名或ip
      location / { # 訪問路徑配置
      # root index;# 根?錄
      proxy_pass http://tomcat-huike;
      index index.html index.htm; # 默認??
      }
      error_page 500 502 503 504 /50x.html; # 錯誤??
      location = /50x.html {
       root html;
      }
     }
    

    部署并訪問項目,刷新觀察每個??的標題,看是否不同。

    經過測試,三臺服務器出現的概率各為33.3333333%,交替顯示。

    如果其中?臺服務器性能?較好,想讓其承擔更多的壓?,可以設置權重。

    ?如想讓NO.1出現次數是其它服務器的2倍,則修改配置如下:

    upstream tomcat-travel {
    
     server 192.168.177.129:8080;
    
     server 192.168.177.129:8081 weight=2;
    
     server 192.168.177.129:8082;
    
     }
    

    以上則為nginx-docker的快速入門教學,感謝各位閱覽!

    來源:https://blog.csdn.net/weixin_51130354

    反向代理反向代理負載均衡
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    Nginx 快速入門
    2022-05-11 16:36:35
    Nginx 是?款?性能的 http 服務器/反向代理服務器及電?郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設計師伊?爾·?索夫(Igor Sysoev)所開發,官?測試 nginx 能夠??撐 5 萬并發鏈接,并且cpu、內存等資源消耗卻?常低,運??常穩定。
    一般有運行nginx服務器的用戶組,nginx進程pid存放路徑,日志存放路徑,配置文件引入,允許生成worker process數等。#user administrator administrators; #配置用戶或者組,默認為nobody nobody。keepalive_requests 120;#單連接請求上限次數。
    NAT模式支持對IP地址和端口進行轉換。調度器可以自動問詢真實服務器的負載情況,并動態地調整其權值。
    神器 Nginx 的學習手冊
    2022-02-23 07:35:52
    Nginx 是一個高性能的 HTTP 和反向代理服務器,特點是占用內存少,并發能力強,事實上 Nginx 的并發能力確實在同類型的網頁服務器中表現較好。 Nginx 專為性能優化而開發,性能是其最重要的要求,十分注重效率,有報告 Nginx 能支持高達 50000 個并發連接數。 01 Nginx 知識網結構圖 Nginx 的知識網結構圖如下:
    在Ingress-nginx中存在信息泄露漏洞,可以創建或更新 Ingress 對象的用戶可以在利用該漏洞訪問集群中的所有 Secret。
    b)應具有登錄失敗處理功能,應配置并啟用結束會話、限制非法登錄次數和當登錄連接超時自動退出等相關措施無獨立的登錄管理界面,通過登錄到操作系統本地管理該中間件,身份鑒別由操作系統層面實現。
    現在,我利用它運行一個Puma Web服務器,上面跑著一個簡單的Sinatra應用。一臺舊的安卓手機可能并不會有太高的性能,但t2.nano的AWS服務器也沒有。當然,手機的處理器是ARM,而云服務器通常是x86;內存管理也完全不同。不論如何,這篇文章的目的是介紹如何將安卓設備改造成Web服務器或任何其他東西。安裝完成后不需要任何配置。方法實現有幾種,但我認為最方便的是通過一個名為Dropbear的軟件。
    在微服務架構中,業務邏輯被拆分成一系列小而松散耦合的分布式組件,共同構成了較大的應用。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类