简单集群架构
集群
反代理及相關知識
1.代理
代理服務器Proxy Server:存在于會話層,起到防火墻的作用,常用在internet國際互聯網和LAN局域網之間的連接。
代理服務器的功能:
1.突破自身IP訪問限制,訪問國外站點。
2.訪問一些單位或團體內部資源,如某大學FTP(前提是該代理地址在該資源 的允許訪問范圍之內),使用教育網內地址段免費代理服務器,就可以用于對教育網開放的各類FTP下載上傳,以及各類資料查詢共享等服務。
3.突破中國電信的IP封鎖:中國電信用戶有很多網站是被限制訪問的,這種限制是人為的,不同Serve對地址的封鎖是不同的。所以不能訪問時可以換一個國外的代理服務器試試。
4.提高訪問速度:通常代理服務器都設置一個較大的硬盤緩沖區,當有外界的信息通過時,同時也將其保存到緩沖區中,當其他用戶再訪問相同的信息時, 則直接由緩沖區中取出信息,傳給用戶,以提高訪問速度。
5.隱藏真實IP:上網者也可以通過這種方法隱藏自己的IP,免受攻擊。
2.正向代理
正向代理服務器位于客戶端和服務器之間,為了向服務器獲取數據,客戶端要向代理服務器發送一個請求,并指定目標服務器,代理服務器將目標服務器返回的數據轉交給客戶端。
常見例子:VPN
Q:什么是VPN?
當我們的電腦接入VPN后,我們訪問網站的ip會變成VPN服務器的公網IP,我們請求或者接受的任何數據都會通過VPN的服務器傳入本機中。
3.反向代理
正向代理和反向代理的區別:正向代理代理客戶端,反向代理代理服務器。
4. Ngnix 反向代理
/etc/init.d/nginx start/stop/reload
nginx -t #檢查nginx.conf配置文件是否出現問題
systemctl status nginx.service #查看錯誤原因
ngnix配置文件詳解
存放路徑:/etc/nginx/nginx.conf
nginx配置文件結構:nginx.conf由多個塊構成,最外面的塊是main,main包含events和http,http包含多個upstream和多個server,server又包含多個location。
main(全局設置):設置的指令將影響其他所有設置;
server(虛擬主機設置):指令主要用于指定主機和端口;
upstream(負載均衡服務器設置):指令主要用于負載均衡,設置一系列的后端服務器;
location(URL匹配特定位置的設置):用于匹配網頁位置。
四者之間的關系:server繼承main,location繼承server,upstream既不會繼承其他設置也不會被繼承。
1)虛擬主機
虛擬主機是用來映射網站目錄和網站代碼文件夾的關系,通過server配置,每一個server表示一個虛擬主機。
#www.domain1.com對應的虛擬主機 server{listem 80;server_name www.domain1.com;access_log logs/domain1.access.log main;location / {index index.html;root /var/www/domain1.com/htdocs;} }負載均衡算法
對用戶請求的ip進行hash操作,根據hash結果將同一個客戶端ip請求分發給同一臺服務器進行處理,可以解決session不共享的問題。
修改Nginx的配置文件
#進入nginx的配置文件 nginx.conf #在main中添加以下代碼 upstream luckyDog{ #后端負載均衡集群 名稱設置為luckyDog#ip_hash server 192.168.43.**:8080 weight=1; #weight越大 被訪問的機會就越大,加權輪詢算法;當weight都等于1,和未設置時均為輪詢算法。server 192.168.43.**:8080 weight=1; }server {listen 80;server_name localhost;location \ { #將所有訪問localhost的流量代理到后端的luckyDog集群里proxy_pass http://luckyDog;proxy_set_header Host $host;index index.html index.html;} }#保存后退出 #使用命令 nginx -t 測試nginx.conf文件是否有問題 #沒有問題后可以啟動nginx服務器5.tomcat
遇到的問題匯總
1.解決nginx啟動報nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
原因:80端口被nginx占用
使用:sudo fuser -k 80/tcp
2.防火墻操作命令
開啟禁用 sudo ufw allow/deny 或者 enable|disable
查看狀態 sudo ufw status
打開關閉某個端口 sudo ufw allow 22/tcp (ssh端口)
sudo ufw delete allow 53
設置默認策略 (比如 “mostly open” vs “mostly closed”) sudo ufw default allow|deny
總結
- 上一篇: Unbutu下安装mysql服务并允许远
- 下一篇: Second Week: Git与Git