久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    一篇文章搞懂nginx的使用

     wwq圖書世界 2021-08-09

    什么是 nginx

    • Nginx是一個高性能的 HTTP 和反向代理服務器。特點:占有內存小,并發能力強,事實上nginx 的并發能力確實是同類網頁服務器中表現較好。
    • Nginx是專門為性能優化而開發,性能是最重要的考量,實現上非常注重效率,能經受高負載的考驗,有報告表明支持高達 50000 個并發連接數。

    nginx 安裝

    1.將 Nginx 安裝包上傳到 Linux 中
    官網:http:///en/download.html 這里安裝使用的 Nginx 版本為 nginx-1.8.0.tar.gz
    2 nginx 安裝環境
    nginx 是 C 語言開發,建議在 linux 上運行

    • gcc
      安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc環境,需要安裝 gcc:yum install gcc-c++

    • PCRE
      PCRE(Perl Compatible Regular Expressions)是一個 Perl 庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫。

    yum install -y pcre pcre-devel

    注:pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx 也需要此庫。

    • zlib

      zlib 庫提供了很多種壓縮和解壓縮的方式,nginx 使用 zlib 對 http 包的內容進行 gzip, 所以需要在 linux 上安裝 zlib 庫。

      yum install -y zlib zlib-developenssl

    • OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協議,并提供豐富的應用程序供測試或其它目的使用。nginx 不僅支持 http 協議,還支持 https(即在 ssl 協議上傳輸 http),所以需要在linux 安裝 openssl 庫。

      yum install -y openssl openssl-devel

    3.編譯安裝
    解壓:tar -zxvf nginx-1.8.0.tar.gz
    進入到 nginx 的根目錄 cd nginx-1.8.0

    • 3.1配置安裝參數 ./configure
      參數設置如下:
      ./configure
      --prefix=/usr/local/nginx \

      --pid-path=/var/run/nginx/nginx.pid \

      --lock-path=/var/lock/nginx.lock \

      --error-log-path=/var/log/nginx/error.log \

      --http-log-path=/var/log/nginx/access.log \

      --with-http_gzip_static_module \

      --http-client-body-temp-path=/var/temp/nginx/client \

      --http-proxy-temp-path=/var/temp/nginx/proxy \

      --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

      --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

      --http-scgi-temp-path=/var/temp/nginx/scgi
      注意:上邊將臨時文件目錄指定為/var/temp/nginx,需要在/var 下創建 temp 及 nginx 目錄

      --prefix=/usr/local/nginx決定將 nginx 安裝到什么位置,設置了就會自動創建

    • 3.2編譯安裝 編譯:make

      編譯安裝 make install,安裝完成之后在/usr/local/nginx/sbin 下有 sbin 的啟動腳本

    4.操作Nginx

    1. 使用 nginx 操作的常用命令:必須要進入 nginx 目錄中去才行 /usr/local/nginx/sbin
    2. 查看 nginx 版本號 查看版本號 ./nginx -v
    3. 查看 nginx 啟動狀態 ps aux|grep nginx
    4. 啟動 nginx
      cd /usr/local/nginx/sbin/
      ./nginx
      注意:執行./nginx 啟動 nginx,這里可以-c 指定加載的 nginx 配置文件,如下: ./nginx -c /usr/local/nginx/conf/nginx.conf
      如果不指定-c,nginx 在啟動時默認加載 conf/nginx.conf 文件,此文件的地址也可以在 編譯安裝 nginx 時指定./configure 的參數(--conf-path= 指向配置文件(nginx.conf))
    5. 停止 nginx
      方式 1,快速停止:
      cd /usr/local/nginx/sbin
      ./nginx -s stop
      此方式相當于先查出 nginx 進程 id 再使用 kill 命令強制殺掉進程。
      方式 2,完整停止(建議使用):
      cd /usr/local/nginx/sbin
      ./nginx -s quit
      此方式停止步驟是待 nginx 進程處理任務完畢進行停止。
    6. 重啟 nginx
      方式 1,先停止再啟動(建議使用):
      對 nginx 進行重啟相當于先停止 nginx 再啟動 nginx,即先執行停止命令再執行啟動命令。 如下:
      ./nginx -s quit
      ./nginx
      方式 2,重新加載配置文件:
      當 nginx 的配置文件 nginx.conf 修改后,要想讓配置生效需要重啟 nginx,使用-s reload
      不用先停止 nginx 再啟動 nginx 即可將配置信息在 nginx 中生效,如下:
      ./nginx -s reload
    7. 測試
      nginx 安裝成功,啟動 nginx,即可訪問虛擬機上的 nginx Nginx 默認的是監聽80 端口

    正向代理

    • 在客戶端(瀏覽器)配置代理服務器,通過代理服務器進行訪問,服務端訪問的是真實的服務器截屏2020-12-31 下午3.57.00

    反向代理

    • 我們只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據后,在返回給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器的 ip 地址。服務端訪問的是代理的服務器

    負載均衡

    • 并發請求較大,使用單一服務器容易造成崩潰。單個服務器解決不了,我們增加服務器的數量,然后將請求額分發到各個服務器上,將原先請求集中到單個服務器上的情況改為分發到多個服務器上,將負載分發到不同的服務器,這就是所說的負載均衡。

    動靜分離

    • 為了加快網站的解析速度,可以吧動態頁面和靜態頁面由不同服務器來解析,加快解析速度,降低單個服務器的壓力。這里會使用 Nginx 處理靜態頁面物理分離,Tomcat 處理動態頁面。提供訪問效率

    nginx 使用

    搭建虛擬主機

    虛擬主機是一種特殊的軟硬件技術,它可以將網絡上的每一臺計算機分成多個虛擬主 機,每個虛擬主機可以獨立對外提供 www 服務,這樣就可以實現一臺主機對外提供多個 web 服務,每個虛擬主機之間是獨立的,互不影響的。
    虛擬主機技術是互聯網服務器采用的節省服務器硬件成本的技術,虛擬主機技術主要應 用于 HTTP(Hypertext Transfer Protocol,超文本傳輸協議)服務,將一臺服務器的某項或 者全部服務內容邏輯劃分為多個服務單位,對外表現為多個服務器,從而充分利用服務器硬 件資源。主要就是節省硬件成本

    Nginx 的虛擬主機配置方式

    Nginx 支持三種類型的虛擬主機配置

    1. 基于 IP 的虛擬主機

      這里使用一臺 liunx 搭建 2 個 ip,不同 ip 訪問不同的 html 頁面(這里就是 nginx 的訪問首頁)

      • 第一步,一臺 linux 配置多 ip 方式,將動態 ip 改成靜態 ip 進入 cd /etc/sysconfig/network-scripts ,進入配置 ,需將配置文件中BOOTPRPTP=static,其次添加另一個 ip 配置內容:保存重啟服務即可配置成功。

      IPADDR=192.168.10.144

      NETMASK=255.255.255.0

      GATEWAY=192.168.10.2

      DNS1=114.114.114.114

      • 第二步修改 nginx 的配置文件,我這里是在/usr/local/nginx/conf 目錄下

        Nginx 的配置文件 nginx.conf
        如上述配置文件所示,主要由 6 個部分組成:

        main:用于進行 nginx 全局信息的配置

        events:用于 nginx 工作模式的配置

        http:用于進行 http 協議信息的一些配置

        server:用于進行服務器訪問信息的配置 ,一個 server 就是一個虛擬機

        location:用于進行訪問路由的配置

        upstream:用于進行負載均衡的配置

        主要是對 http 下 server 和 location 進行修改配置即可

        #一個 Server 就是一個虛擬主機 
        server {
        listen 80; 
        #為虛擬機指定 IP 或者是域名
        server_name 192.168.70.144;
        #主要配置路由訪問信息 
        location / {
        #用于指定訪問根目錄時,訪問虛擬主機的 web 目錄 就是這個主頁的目錄
        root html144; 
        #在不指定訪問具體資源時,默認的展示資源的列表 
        index index.html index.htm;
        }
        error_page 500 502 503 504 /50x.html; 
        location = /50x.html {
        root html; }
        }
        
    2. 基于端口的虛擬主機

      • 基于端口和 ip 配置都差不多這里主要修改 listen 即可

        #一個 Server 就是一個虛擬主機 基于端口 
        server {
        listen 8080; 
        #為虛擬機指定 IP 或者是域名
        server_name 192.168.70.188;
        #主要配置路由訪問信息 
        location / {
        #用于指定訪問根目錄時,訪問虛擬主機的 web 目錄 
        root html8080;
        #在不指定訪問具體資源時,默認的展示資源的列表 
        index index.html index.htm;
        }
        error_page 500 502 503 504 /50x.html; location = /50x.html {
        root html; }
        }
        
    3. 基于域名的虛擬主機(以 mac 配置)

      • 修改hosts 下面的映射關系 命令:sudo vi /etc/hosts,進入之后進行映射

        192.168.70.188 www.123.com

      • 修改 Nginx 的配置文件完成基于域名的虛擬主機配置

        server {
        listen 80;
        #為虛擬機指定 IP 或者是域名,這里使用域名
        server_name  www.123.com;
        #主要配置路由訪問信息 
        location / {
        #用于指定訪問根目錄時,訪問虛擬主機的 web 目錄 
        root html-123;
        #在不指定訪問具體資源時,默認的展示資源的列表
        index index.html index.htm; }
        error_page 500 502 503 504 /50x.html; location = /50x.html {
        root html; }
        }
        

      這三種配置方式其實都比較類似主要是修改 配置文件中的 listen,server_name,以及 location 既可以完成

    反向代理

    這里需要先對 虛擬機ip(nginx 默認端口就是80可省略) 和域名做一個映射,前面已經使用過不在贅述,其次就是修改 nginx.conf配置文件,完成配置

    http {
    include mime.types; 
    default_type application/octet-stream;
    sendfile on; 
    keepalive_timeout 65;
    ## 增加這個屬性完成虛擬機代理,表示代理那個服務器
    upstream tomcat_server1{ 
    server 192.168.70.143:8080; 
    }
    server {
    listen 80;
    #為虛擬機指定 IP 或者是域名 
    server_name com.123.com;
    #主要配置路由訪問信息 location / {
    #用于指定訪問根目錄時,訪問虛擬主機的 web 目錄 這里刪除 root,root 是去找虛擬機中的目錄
    proxy_pass http://tomcat_server1;
    #在不指定訪問具體資源時,默認的展示資源的列表
    

    通過以上配置,重啟 nginx 既可以完成代理,通過訪問 www.123.com,就可以訪問 tomcat 首頁

    負載均衡

    什么是負載均衡

    • 負載均衡建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展 網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。負載均衡,英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執行,例如 Web 服務器、FTP 服務器、企業關鍵應用服務器和其它關鍵任務 服務器等,從而共同完成工作任務。

    負載均衡的策略

    • 輪詢(默認) 每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器 down 掉,能自動剔除。

    • 指定權重
      指定輪詢幾率,weight 和訪問比率成正比,用于后端服務器性能不均的情況。性能高的多處理
      upstream backserver {
      server 192.168.0.14 weight=10;
      server 192.168.0.15 weight=10;
      }

    • IP 綁定 ip_hash
      每個請求按訪問 ip 的 hash 結果分配,這樣每個訪客固定訪 問一個后端服務器,可以解決 session 的問題。
      upstream backserver {
      ip_hash;
      server 192.168.0.14:88;
      server 192.168.0.15:80;
      }

    這里通過同一個 liunx 上使用兩個 tomcat 模擬

    如何在一個虛擬機配置多個 tomcat?

    這里和使用一個 tomcat 的時候是一致的,只需要修改配置文件中的標簽即可,進入 tomcat 目錄修改

    如下標簽,主要是為了區分端口號:只要不要和第一個 tomcat 相同即可,默認端口是 8080

    配置 nginx 的集群 還是在 nginx.conf 中進行配置,直接在之前反向代理的配置中進行增加即可,即可配置成集群

    ## 增加這個屬性完成虛擬機代理
    upstream tomcat_server1{ 
    server 192.168.70.143:8080; ## 直接在后面加權重即可
    server 192.168.70.143:9090;
    }
    
    節點說明:
    在 http 節點里添加:
    定義負載均衡設備的 Ip 及設備狀態 
    upstream myServer {
    server 127.0.0.1:9090 down; 
    server 127.0.0.1:8080 weight=2; 
    server 127.0.0.1:6060;
    server 127.0.0.1:7070 backup;
    }
    在需要使用負載的 Server 節點下添加 proxy_pass http://myServer;
    upstream 每個設備的狀態:
    down 表示單前的 server 暫時不參與負載
    weight 默認為 1.weight 越大,負載的權重就越大
    fail_timeout:次失敗后,暫停的時間 默認 10s
    max_fails :允許請求失敗的次數默認為 1.當超過最大次數時,返回
    backup: 其它所有的非 backup 機器 down 或者忙的時候,請求 backup 機器。所以這臺機器壓力會最輕。
    

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲性线免费观看视频成熟| 亚洲精品无码成人A片九色播放| 国产成人高清精品亚洲| 人妻少妇456在线视频| 人妻在卧室被老板疯狂进入| 国产在线午夜不卡精品影院| 日韩A人毛片精品无人区乱码| 国内精品久久久久久无码不卡| 国产精品日日摸夜夜添夜夜添无码| 国产精品点击进入在线影院高清| 桃子视频在线播放WWW| 宅男噜噜噜66在线观看| 国产午夜视频在线观看| 亚洲精品无码久久一线| 亚洲欧美成人久久一区| 免费无码成人AV片在线| 国产精品自产拍在线观看中文 | 91中文字幕一区二区| 国产萌白酱喷水视频在线观看| 丰满少妇被猛烈进出69影院| 精品一区二区三区在线播放视频| 一本精品99久久精品77| 国产偷国产偷亚洲清高APP| 无码国产69精品久久久久孕妇| 好男人社区在线观看免费视频| 色翁荡熄又大又硬又粗又视频| 国产久9视频这里只有精品| 99久久精品国产一区二区蜜芽| 国产丝袜在线精品丝袜不卡| 在线中文字幕国产一区| 一本久道久久综合狠狠爱| 野外做受三级视频| 亚洲av永久无码精品水牛影视| 粗大挺进朋友人妻淑娟| 久久国产免费观看精品3| 3d无码纯肉动漫在线观看| 欧美性大战久久久久XXX | 亚洲欧美日韩中文字幕一区二区三区| 香蕉伊蕉伊中文在线视频| 中文字幕日韩人妻一区| 精品香蕉久久久午夜福利|