標籤:pass har chmod 一致性 預設 export http 服務端 evel
初次編輯2017年9月22日 21:44:24
摘要
一.nginx服務
二.nginx反向 Proxy
三.共用儲存nfs
作業
今日總結
摘要
引用:海峰老師
- nginx服務
- nginx.conf檔案
- nginx反向 Proxy
- 共用儲存nfs
一.nginx服務
- nginx服務
- 裝nginx前線裝epel-release:yum install epel-release -y(基於這個源安裝nginx)
- 安裝nginx:yum install nginx -y
- 修改設定檔: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
- 編輯index.html檔案,並重啟 systemctl [re]start nginx
- systemctl status nginx 為檢查服務狀態
- systemctl disable nginx 為開機不啟動
- systemctl enable nginx 為開機啟動
- systemctl reload nginx 為重新載入,讀取設定檔
- 關閉防火牆: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,之後再關閉防火牆即可。
- 即可訪問
- nginx.conf檔案
- location其中的"/"代表自訂的根目錄,其中的{}可自己定義,例如 root /var/www/html;(注意以分號結尾)
- log_format 為日誌格式
二.nginx反向 Proxy
- 正向 Proxy和反向 Proxy:
- 代理:A訪問B,A把自己的請求讓C代理,C去訪問B
- 正向 Proxy:A明確地知道自己的代理C的存在,A明確地指定自己的Proxy 位址是C,讓C去訪問B,拿到結果再給A,通常用來FQ
- 反向 Proxy:使用者請求發給nginx後,由nginx負載給代理的機器,拿到結果,再由nginx返回給用戶端(如此,nginx便把一堆自己代理的機器隱藏到後端,外界訪問的就是nginx)
- 負載平衡
- round-robin:輪詢,依次給Proxy 伺服器;
- least-connected:最小連結數;
- ip-hash:根據IP地址(與會話保持有關);
- 反向 Proxy配置
引用:nginx反向 Proxy
- 負載平衡設定
- http中的upstream :定義nginx需要管理的一組機器,組名為myapp1,server為Proxy 伺服器
- location /中 修改為:proxy_pass http://myapp1;
- 最小串連數設定
- 只需在server上一行 增加least_conn; 即可
- ip-hash設定
- 只需在server上一行 增加ip_hash; 即可
- 權重設定
- 需在server此行 增加weight=number 即可(number為權重為幾次)
三.共用儲存nfs
- 安裝
- 需先安裝rpc協議軟體包及nfs軟體包:yum install rpcbind nfs-utils -y
- 配置
- 設定檔為 /etc/exports (這個檔案是NFS的主要設定檔,不過系統並沒有預設值,所以這個檔案不一定會存在,可能要使用vim手動建立,然後在檔案裡面寫入配置內容)
- /etc/exports檔案內容格式:
- <輸出目錄> [用戶端1 選項(存取權限,使用者映射,其他)] [用戶端2 選項(存取權限,使用者映射,其他)]
- 輸出目錄:輸出目錄是指NFS系統中需要共用給客戶機使用的目錄;
- 用戶端:用戶端是指網路中可以訪問這個NFS輸出目錄的電腦
- 存取權限選項
- 具體請見 第19單元NFS服務
引用:nfs服務
- 修改配置
- [[email protected] nginx]# cat /etc/exports
- /share 192.168.31.0/24(rw,sync,fsid=0)
- 192.168.31.0/24:指定子網中的所有主機
- sync:將資料同步寫入記憶體緩衝區與磁碟中,效率低,但可以保證資料的一致性
- 檔案儲存體和Block Storage及Object Storage Service
- Block Storage: 硬碟
- 檔案儲存體: 直接可以建立 增刪改查
- Object Storage Service: 建立 更改需要載入到本地 再上傳
- 開許可權(nfs開啟了w許可權還不行,others還需要對/share目錄有w許可權)
- 開機啟動
- systemctl enable nfs-server.service
- systemctl enable rpcbind.service
- 啟動服務
- systemctl start rpcbind.service(必須先啟動)
- systemctl start nfs-server.service
- 確認nfs伺服器啟動成功
- rpcinfo
- exportfs
- showmount -e #預設查看自己共用的服務,前提是要DNS能解析自己,不然容易報錯
- showmount -a #顯示已經與用戶端串連上的目錄資訊
- 用戶端配置
- yum install rpcbind nfs-utils -y:安裝軟體
- systemctl enable rpcbind.service && systemctl start rpcbind.service:開機啟動
- showmount -e NFS伺服器IP #檢查 NFS 伺服器端是否有目錄共用
- mount -t nfs 192.168.31.106:/share /var/www/html/ :掛載
- 測試
- 基於nginx的負載平衡配置,開啟後端被代理服務的access.log日誌,tail -f access.log來觀察訪問,訪問LB重新整理頁面發現內容保持一致,但是每台被代理的機器的access.log日誌都有新的內容進來
作業
今日總結
- nginx訪問
- 瀏覽器通過IP及連接埠定位到nginx軟體
- nginx會讀取自己的設定檔nginx.conf 擷取根目錄
- 通過根目錄擷取檔案
- 以http協議發送回去
- nginx反向 Proxy
- nfs共用儲存
Python全棧之路Day6