Python全棧之路Day6

來源:互聯網
上載者:User

標籤:pass   har   chmod   一致性   預設   export   http   服務端   evel   

初次編輯2017年9月22日 21:44:24

摘要
一.nginx服務
二.nginx反向 Proxy
三.共用儲存nfs
作業
今日總結

摘要

引用:海峰老師

  1. nginx服務
  2. nginx.conf檔案
  3. nginx反向 Proxy
  4. 共用儲存nfs
一.nginx服務
  1. nginx服務
    1. 裝nginx前線裝epel-release:yum install epel-release -y(基於這個源安裝nginx)
    2. 安裝nginx:yum install nginx -y
    3. 修改設定檔:vim /etc/nginx/nginx.conf
      • 其中access_log 為作業記錄
      • server 下的root 為網站下的根目錄 例如:/usr/share/nginx/html
      • cd到root下 vim開啟 index.html檔案,使用者訪問時會下載此檔案
      • url 統一資源定位器:例如 http://192.168.1.1:80 定位到軟體
      • uri 統一資源識別項:例如 http://192.168.1.1:80/a/b/c.txt 定位到檔案 檔案路徑為:/usr/share/nginx/html/a/b/c.txt
    4. 編輯index.html檔案,並重啟 systemctl [re]start nginx
      • systemctl status nginx 為檢查服務狀態
      • systemctl disable nginx 為開機不啟動
      • systemctl enable nginx 為開機啟動
      • systemctl reload nginx 為重新載入,讀取設定檔
    5. 關閉防火牆:systemctl stop firewalld(或者iptables -F 清理防火牆規則)
      • 因自己實驗多次仍會出現許可權問題,多方查閱,有以下處理方法
        • SELinux設定為開啟狀態(enabled)的原因
          首先查看本機SELinux的開啟狀態,如果SELinux status參數為enabled即為開啟狀態
          /usr/sbin/ sestatus -v
          或者使用getenforce命令檢查
        • 找到原因了,如何關閉 SELinux 呢
          1、臨時關閉(不用重啟)
          setenforce 0
          2、修改設定檔 /etc/ selinux/config,將SELINUX=enforcing改為SELINUX=disabled
          vi /etc/ selinux/config
          注意:修改設定檔需要重啟系統 reboot,之後再關閉防火牆即可。
    6. 即可訪問
  2. nginx.conf檔案
    1. location其中的"/"代表自訂的根目錄,其中的{}可自己定義,例如 root /var/www/html;(注意以分號結尾)
    2. log_format 為日誌格式
二.nginx反向 Proxy
  1. 正向 Proxy和反向 Proxy:
    • 代理:A訪問B,A把自己的請求讓C代理,C去訪問B
    • 正向 Proxy:A明確地知道自己的代理C的存在,A明確地指定自己的Proxy 位址是C,讓C去訪問B,拿到結果再給A,通常用來FQ
    • 反向 Proxy:使用者請求發給nginx後,由nginx負載給代理的機器,拿到結果,再由nginx返回給用戶端(如此,nginx便把一堆自己代理的機器隱藏到後端,外界訪問的就是nginx)
  2. 負載平衡
    • round-robin:輪詢,依次給Proxy 伺服器;
    • least-connected:最小連結數;
    • ip-hash:根據IP地址(與會話保持有關);
  3. 反向 Proxy配置
    引用:nginx反向 Proxy
    1. 負載平衡設定
      • http中的upstream :定義nginx需要管理的一組機器,組名為myapp1,server為Proxy 伺服器
      • location /中 修改為:proxy_pass http://myapp1;
    2. 最小串連數設定
      • 只需在server上一行 增加least_conn; 即可
    3. ip-hash設定
      • 只需在server上一行 增加ip_hash; 即可
    4. 權重設定
      • 需在server此行 增加weight=number 即可(number為權重為幾次)
三.共用儲存nfs
  1. 安裝
    1. 需先安裝rpc協議軟體包及nfs軟體包:yum install rpcbind nfs-utils -y
  2. 配置
    1. 設定檔為 /etc/exports (這個檔案是NFS的主要設定檔,不過系統並沒有預設值,所以這個檔案不一定會存在,可能要使用vim手動建立,然後在檔案裡面寫入配置內容)
    2. /etc/exports檔案內容格式:
      • <輸出目錄> [用戶端1 選項(存取權限,使用者映射,其他)] [用戶端2 選項(存取權限,使用者映射,其他)]
      • 輸出目錄:輸出目錄是指NFS系統中需要共用給客戶機使用的目錄;
      • 用戶端:用戶端是指網路中可以訪問這個NFS輸出目錄的電腦
      • 存取權限選項
        • 設定輸出目錄唯讀:ro
        • 設定輸出目錄讀寫:rw
      • 具體請見 第19單元NFS服務
        引用:nfs服務
    3. 修改配置
      • [[email protected] nginx]# cat /etc/exports
      • /share 192.168.31.0/24(rw,sync,fsid=0)
        • 192.168.31.0/24:指定子網中的所有主機
        • sync:將資料同步寫入記憶體緩衝區與磁碟中,效率低,但可以保證資料的一致性
    4. 檔案儲存體和Block Storage及Object Storage Service
      • Block Storage: 硬碟
      • 檔案儲存體: 直接可以建立 增刪改查
      • Object Storage Service: 建立 更改需要載入到本地 再上傳
    5. 開許可權(nfs開啟了w許可權還不行,others還需要對/share目錄有w許可權)
      • chmod -R o+w /share
    6. 開機啟動
      1. systemctl enable nfs-server.service
      2. systemctl enable rpcbind.service
    7. 啟動服務
      1. systemctl start rpcbind.service(必須先啟動)
      2. systemctl start nfs-server.service
    8. 確認nfs伺服器啟動成功
      1. rpcinfo
      2. exportfs
      3. showmount -e #預設查看自己共用的服務,前提是要DNS能解析自己,不然容易報錯
      4. showmount -a #顯示已經與用戶端串連上的目錄資訊
  3. 用戶端配置
    1. yum install rpcbind nfs-utils -y:安裝軟體
    2. systemctl enable rpcbind.service && systemctl start rpcbind.service:開機啟動
    3. showmount -e NFS伺服器IP #檢查 NFS 伺服器端是否有目錄共用
    4. mount -t nfs 192.168.31.106:/share /var/www/html/ :掛載
  4. 測試
    • 基於nginx的負載平衡配置,開啟後端被代理服務的access.log日誌,tail -f access.log來觀察訪問,訪問LB重新整理頁面發現內容保持一致,但是每台被代理的機器的access.log日誌都有新的內容進來
作業
今日總結
  1. nginx訪問
    • 瀏覽器通過IP及連接埠定位到nginx軟體
    • nginx會讀取自己的設定檔nginx.conf 擷取根目錄
    • 通過根目錄擷取檔案
    • 以http協議發送回去
  2. nginx反向 Proxy
    • 反向 Proxy設定
  3. nfs共用儲存
    • 服務端
    • 用戶端

Python全棧之路Day6

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.