一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

一篇文章搞懂nginx的使用

 wwq圖書(shū)世界 2021-08-09

什么是 nginx

  • Nginx是一個(gè)高性能的 HTTP 和反向代理服務(wù)器。特點(diǎn):占有內(nèi)存小,并發(fā)能力強(qiáng),事實(shí)上nginx 的并發(fā)能力確實(shí)是同類(lèi)網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好。
  • Nginx是專(zhuān)門(mén)為性能優(yōu)化而開(kāi)發(fā),性能是最重要的考量,實(shí)現(xiàn)上非常注重效率,能經(jīng)受高負(fù)載的考驗(yàn),有報(bào)告表明支持高達(dá) 50000 個(gè)并發(fā)連接數(shù)。

nginx 安裝

1.將 Nginx 安裝包上傳到 Linux 中
官網(wǎng):http:///en/download.html 這里安裝使用的 Nginx 版本為 nginx-1.8.0.tar.gz
2 nginx 安裝環(huán)境
nginx 是 C 語(yǔ)言開(kāi)發(fā),建議在 linux 上運(yùn)行

  • gcc
    安裝 nginx 需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴(lài) gcc 環(huán)境,如果沒(méi)有 gcc環(huán)境,需要安裝 gcc:yum install gcc-c++

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

yum install -y pcre pcre-devel

注:pcre-devel 是使用 pcre 開(kāi)發(fā)的一個(gè)二次開(kāi)發(fā)庫(kù)。nginx 也需要此庫(kù)。

  • zlib

    zlib 庫(kù)提供了很多種壓縮和解壓縮的方式,nginx 使用 zlib 對(duì) http 包的內(nèi)容進(jìn)行 gzip, 所以需要在 linux 上安裝 zlib 庫(kù)。

    yum install -y zlib zlib-developenssl

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

    yum install -y openssl openssl-devel

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

  • 3.1配置安裝參數(shù) ./configure
    參數(shù)設(shè)置如下:
    ./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
    注意:上邊將臨時(shí)文件目錄指定為/var/temp/nginx,需要在/var 下創(chuàng)建 temp 及 nginx 目錄

    --prefix=/usr/local/nginx決定將 nginx 安裝到什么位置,設(shè)置了就會(huì)自動(dòng)創(chuàng)建

  • 3.2編譯安裝 編譯:make

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

4.操作Nginx

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

正向代理

  • 在客戶端(瀏覽器)配置代理服務(wù)器,通過(guò)代理服務(wù)器進(jìn)行訪問(wèn),服務(wù)端訪問(wèn)的是真實(shí)的服務(wù)器截屏2020-12-31 下午3.57.00

反向代理

  • 我們只需要將請(qǐng)求發(fā)送到反向代理服務(wù)器,由反向代理服務(wù)器去選擇目標(biāo)服務(wù)器獲取數(shù)據(jù)后,在返回給客戶端,此時(shí)反向代理服務(wù)器和目標(biāo)服務(wù)器對(duì)外就是一個(gè)服務(wù)器,暴露的是代理服務(wù)器地址,隱藏了真實(shí)服務(wù)器的 ip 地址。服務(wù)端訪問(wèn)的是代理的服務(wù)器

負(fù)載均衡

  • 并發(fā)請(qǐng)求較大,使用單一服務(wù)器容易造成崩潰。單個(gè)服務(wù)器解決不了,我們?cè)黾臃?wù)器的數(shù)量,然后將請(qǐng)求額分發(fā)到各個(gè)服務(wù)器上,將原先請(qǐng)求集中到單個(gè)服務(wù)器上的情況改為分發(fā)到多個(gè)服務(wù)器上,將負(fù)載分發(fā)到不同的服務(wù)器,這就是所說(shuō)的負(fù)載均衡。

動(dòng)靜分離

  • 為了加快網(wǎng)站的解析速度,可以吧動(dòng)態(tài)頁(yè)面和靜態(tài)頁(yè)面由不同服務(wù)器來(lái)解析,加快解析速度,降低單個(gè)服務(wù)器的壓力。這里會(huì)使用 Nginx 處理靜態(tài)頁(yè)面物理分離,Tomcat 處理動(dòng)態(tài)頁(yè)面。提供訪問(wèn)效率

nginx 使用

搭建虛擬主機(jī)

虛擬主機(jī)是一種特殊的軟硬件技術(shù),它可以將網(wǎng)絡(luò)上的每一臺(tái)計(jì)算機(jī)分成多個(gè)虛擬主 機(jī),每個(gè)虛擬主機(jī)可以獨(dú)立對(duì)外提供 www 服務(wù),這樣就可以實(shí)現(xiàn)一臺(tái)主機(jī)對(duì)外提供多個(gè) web 服務(wù),每個(gè)虛擬主機(jī)之間是獨(dú)立的,互不影響的。
虛擬主機(jī)技術(shù)是互聯(lián)網(wǎng)服務(wù)器采用的節(jié)省服務(wù)器硬件成本的技術(shù),虛擬主機(jī)技術(shù)主要應(yīng) 用于 HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)服務(wù),將一臺(tái)服務(wù)器的某項(xiàng)或 者全部服務(wù)內(nèi)容邏輯劃分為多個(gè)服務(wù)單位,對(duì)外表現(xiàn)為多個(gè)服務(wù)器,從而充分利用服務(wù)器硬 件資源。主要就是節(jié)省硬件成本

Nginx 的虛擬主機(jī)配置方式

Nginx 支持三種類(lèi)型的虛擬主機(jī)配置

  1. 基于 IP 的虛擬主機(jī)

    這里使用一臺(tái) liunx 搭建 2 個(gè) ip,不同 ip 訪問(wèn)不同的 html 頁(yè)面(這里就是 nginx 的訪問(wèn)首頁(yè))

    • 第一步,一臺(tái) linux 配置多 ip 方式,將動(dòng)態(tài) ip 改成靜態(tài) ip 進(jìn)入 cd /etc/sysconfig/network-scripts ,進(jìn)入配置 ,需將配置文件中BOOTPRPTP=static,其次添加另一個(gè) ip 配置內(nèi)容:保存重啟服務(wù)即可配置成功。

    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 個(gè)部分組成:

      main:用于進(jìn)行 nginx 全局信息的配置

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

      http:用于進(jìn)行 http 協(xié)議信息的一些配置

      server:用于進(jìn)行服務(wù)器訪問(wèn)信息的配置 ,一個(gè) server 就是一個(gè)虛擬機(jī)

      location:用于進(jìn)行訪問(wèn)路由的配置

      upstream:用于進(jìn)行負(fù)載均衡的配置

      主要是對(duì) http 下 server 和 location 進(jìn)行修改配置即可

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

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

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

    • 修改hosts 下面的映射關(guān)系 命令:sudo vi /etc/hosts,進(jìn)入之后進(jìn)行映射

      192.168.70.188 www.123.com

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

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

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

反向代理

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

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

通過(guò)以上配置,重啟 nginx 既可以完成代理,通過(guò)訪問(wèn) www.123.com,就可以訪問(wèn) tomcat 首頁(yè)

負(fù)載均衡

什么是負(fù)載均衡

  • 負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)有效透明的方法擴(kuò)展 網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。負(fù)載均衡,英文名稱(chēng)為L(zhǎng)oad Balance,其意思就是分?jǐn)偟蕉鄠€(gè)操作單元上進(jìn)行執(zhí)行,例如 Web 服務(wù)器、FTP 服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù) 服務(wù)器等,從而共同完成工作任務(wù)。

負(fù)載均衡的策略

  • 輪詢(默認(rèn)) 每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器 down 掉,能自動(dòng)剔除。

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

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

這里通過(guò)同一個(gè) liunx 上使用兩個(gè) tomcat 模擬

如何在一個(gè)虛擬機(jī)配置多個(gè) tomcat?

這里和使用一個(gè) tomcat 的時(shí)候是一致的,只需要修改配置文件中的標(biāo)簽即可,進(jìn)入 tomcat 目錄修改

如下標(biāo)簽,主要是為了區(qū)分端口號(hào):只要不要和第一個(gè) tomcat 相同即可,默認(rèn)端口是 8080

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

## 增加這個(gè)屬性完成虛擬機(jī)代理
upstream tomcat_server1{ 
server 192.168.70.143:8080; ## 直接在后面加權(quán)重即可
server 192.168.70.143:9090;
}
節(jié)點(diǎn)說(shuō)明:
在 http 節(jié)點(diǎn)里添加:
定義負(fù)載均衡設(shè)備的 Ip 及設(shè)備狀態(tài) 
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;
}
在需要使用負(fù)載的 Server 節(jié)點(diǎn)下添加 proxy_pass http://myServer;
upstream 每個(gè)設(shè)備的狀態(tài):
down 表示單前的 server 暫時(shí)不參與負(fù)載
weight 默認(rèn)為 1.weight 越大,負(fù)載的權(quán)重就越大
fail_timeout:次失敗后,暫停的時(shí)間 默認(rèn) 10s
max_fails :允許請(qǐng)求失敗的次數(shù)默認(rèn)為 1.當(dāng)超過(guò)最大次數(shù)時(shí),返回
backup: 其它所有的非 backup 機(jī)器 down 或者忙的時(shí)候,請(qǐng)求 backup 機(jī)器。所以這臺(tái)機(jī)器壓力會(huì)最輕。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    我想看亚洲一级黄色录像| 久久热在线免费视频精品| 精品视频一区二区三区不卡| 激情视频在线视频在线视频| 加勒比日本欧美在线观看| 亚洲一区二区三区有码| 激情综合五月开心久久| 日本精品中文字幕人妻| 中文字幕乱码一区二区三区四区 | 在线日韩中文字幕一区| 日韩亚洲精品国产第二页| 国产性情片一区二区三区| 国产欧美日韩不卡在线视频| 欧美激情一区=区三区| 亚洲中文字幕免费人妻| 亚洲伊人久久精品国产| 91亚洲精品国产一区| 午夜福利视频偷拍91| 久久综合狠狠综合久久综合| 欧美日韩在线第一页日韩| 免费观看在线午夜视频| 九九热精品视频在线观看| 熟妇久久人妻中文字幕| 中日韩美女黄色一级片| 麻豆亚州无矿码专区视频| 国产日韩欧美在线亚洲| 91日韩在线观看你懂的| 国产一区国产二区在线视频| 国产爆操白丝美女在线观看| 国产又粗又猛又爽又黄| 国产午夜精品福利免费不| 99久久国产精品亚洲| 91欧美日韩中在线视频| 国产三级黄片在线免费看| 午夜久久久精品国产精品| 久久精品免费视看国产成人| 国产成人精品在线一区二区三区| 亚洲熟女熟妇乱色一区| 国产成人亚洲欧美二区综| 亚洲一区在线观看蜜桃| 国产一区二区三区四区免费|