centos7 nginx安裝及其使用

ifconfig看不到ip地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33
onboot =no 改成 yes
然後重啓網絡 sudo service network restart

nginx的安裝

  1. 下載nginx(nginx-1.12.2.tar.gz)

  2. 安裝並啓動nginx

    1. 進入/usr/src, 將安裝包複製進來

    2. tar -xvf nginx-1.12.2.tar.gz解壓

    3. cd nginx-1.12.2/

    4. ./configure 檢測

      • 提示錯誤 “./configure: error: C compiler cc is not found”

      • 解決 yum -y install gcc gcc-c++ autoconf automake make

      • 再次運行 ``./configure`

    5. make && make install 安裝

      • 提示錯誤 make: *** 沒有規則可以創建“default”需要的目標“build”。

        • 安裝相關依賴包 yum install pcre-devel zlib zlib-devel openssl openssl-devel

        • 最後 make && make install

  3. 進入目錄 /usr/local/nginx/sbin/nginx

    • 啓動nginx ./nginx
    • 關閉nginx ./nginx -s stop
    • 重新加載nginx ./nginx -s reload
  4. 配置防火牆

    1. 查看開放的端口號 firewall-cmd --list-all
    2. 配置80端口 firewall-cmd --add-port=80/tcp --permanent
    3. 重新加載防火牆 firewall-cmd --reload
  5. 瀏覽器輸入 ip地址是否有界面出來

    在這裏插入圖片描述

tomcat的安裝

  1. 下載tomcat(apache-tomcat-7.0.100.tar.gz)

  2. 安裝並啓動tomcat

    • 進入 /usr/src, 將安裝包複製進來
    • tar -xvf apache-tomcat-7.0.100.tar.gz解壓
    • cd apache-tomcat-7.0.100/bin
    • 啓動服務器./startup.sh
  3. 配置防火牆

    • tomcat默認是8080端口
    • 配置80端口 firewall-cmd --add-port=8080/tcp --permanent
    • 重新加載防火牆 firewall-cmd --reload
  4. 瀏覽器輸入 ip地址是否有界面出來

    在這裏插入圖片描述

正向代理

需要在客戶端配置代理服務器進行指定網站訪問

在這裏插入圖片描述

反向代理

反向代理,其實客戶端對代理是無感知的,因爲客戶端不需要任何配置就可以訪問,我們只
需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據後,在返
回給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器
地址,隱藏了真實服務器 IP 地址。

在這裏插入圖片描述

反向代理實例1

需求: 通過訪問http://www.123.com網址訪問tomcat(http://192.168.136.129:8080)

  1. 在 windows 系統的 host 文件進行域名和 ip 對應關係的配置

    在這裏插入圖片描述

  2. 加上一行 192.168.136.129 www.123.com

  3. 通過訪問 http://www.123.com 訪問, 顯示nginx界面

  4. 配置反向代理

    • 編輯配置文件 vi /usr/local/nginx/conf/nginx.conf

      在這裏插入圖片描述

    • 配置防火牆

      • 開啓8080端口 firewall-cmd --add-port=8080/tcp --permanent
      • 重新加載防火牆 firewall-cmd --reload
    • 重新加載

      • cd /usr/local/nginx/sbin
      • ./nginx -s stop => ./nginx 或者 ./nginx -s reload
反向代理實例2

需求: 使用 nginx 反向代理,根據訪問的路徑跳轉到不同端口的服務中
nginx 監聽端口爲 8888

訪問 http://192.168.136.129:8888/chen/ 直接跳轉到 127.0.0.1:8080
訪問 http://192.168.136.129:8888/jiang/ 直接跳轉到 127.0.0.1:8081

  1. 準備工作

    1. 準備兩臺tomcat服務器, 一臺8080端口, 一臺8081端口
    2. 給每臺服務器, 添加界面
      • 在這裏插入圖片描述
      • 在這裏插入圖片描述
  2. 配置防火牆

    • 開啓對應端口
    • 重新加載防火牆
  3. 反向代理配置

    • 在這裏插入圖片描述
    • 重新加載nginx
  4. 訪問界面

    • 在這裏插入圖片描述
    • 在這裏插入圖片描述

負載均衡

我們首先想到的可能是升級服務器的配置,比如提高 CPU 執行頻率,加大內存等提高機器的物理性能來解決此問題,但是我們知道摩爾定律的日益失效,硬件的性能提升已經不能滿足日益提升的需求了。最明顯的一個例子,天貓雙十一當天,某個熱銷商品的瞬時訪問量是極其龐大的,那麼類似上面的系統架構,將機器都增加到現有的頂級物理配置,都是不能夠滿足需求的。那麼怎麼辦呢?

上面的分析我們去掉了增加服務器物理配置來解決問題的辦法,也就是說縱向解決問題
的辦法行不通了,那麼橫向增加服務器的數量呢?這時候集羣的概念產生了,單個服務器解決不了,我們增加服務器的數量,然後將請求分發到各個服務器上,將原先請求集中到單個服務器上的情況改爲將請求分發到多個服務器上,將負載分發到不同的服務器,也就是我們所說的負載均衡

需求: 瀏覽器地址欄輸入地址 http://192.168.136.129/fzjh/demo.html 負載均衡效果,平均 8080 和 8081

  1. 準備工作

    • 準備兩臺tomcat 服務器, 一臺8080, 一臺8081
    • 兩臺服務器文件
      • 在這裏插入圖片描述
  2. nginx配置

    • nginx 分配服務器策略

      • 第一種 輪詢(默認)
        每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器 down掉,能自動剔除。
      • 第二種 weight
        weight 代表權重默認爲 1, 權重越高被分配的客戶端越多
      • 第三種 ip_hash
        每個請求按訪問 ip 的 的 hash 結果分配,這樣每個訪客固定訪問一個後端服務器
      • 第四種 fair (第三方)
        按後端服務器的響應時間來分配請求,響應時間短的優先分配。
    • 在這裏插入圖片描述

    • 重新加載nginx

  3. 頁面顯示

    • 在這裏插入圖片描述

動靜分離

爲了加快網站的解析速度,可以把動態頁面和靜態頁面由不同的服務器來解析,加快解析速
度。降低原來單個服務器的壓力。

通過 location 指定不同的後綴名實現不同的請求轉發。通過 expires 參數設置,可以使瀏
覽器緩存過期時間,減少與服務器之前的請求和流量。具體 Expires 定義:是給一個資源
設定一個過期時間,也就是說無需去 服務端驗證,直接通過瀏覽器自身確認是否過期即可,
所以不會產生額外的流量。此種方法非常適合不經常變動的資源。(如果經常更新的文件,
不建議使用 Expires 來緩存),我這裏設置 3d ,表示在這 3 天之內訪問這個 URL ,發送一
個請求,比對服務器該文件最後更新時間沒有變化,則不會從服務器抓取,返回狀態碼 304 ,
如果有修改,則直接從服務器重新下載,返回狀態碼 200

在這裏插入圖片描述

  1. 準備工作
    • 在linux系統中準備靜態資源
      • 在這裏插入圖片描述
    • nginx配置
      • 在這裏插入圖片描述
    • 訪問界面
      • 在這裏插入圖片描述
      • 在這裏插入圖片描述

參考視頻: https://www.bilibili.com/video/av68136734

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章