企業工具(其二)

集羣:php

將多個物理機器組成⼀個邏輯計算機, 實現負載均衡和容錯

組成要素
1VIP: ⼀個IP地址
2) 分發器: nginx
3) 數據服務器: Web
服務器


html

集羣原理:虛擬主機+反向代理+upstream分發模塊組成的python

虛擬主機: 接受和響應請求
反向代理: 帶⽤戶去數據服務器拿數據
upstream: 告訴Nginx去哪一個數據服務器拿數據
數據⾛向
1) 虛擬主機接受⽤戶請求
2) 虛擬主機去找反向代理
3) 反向代理讓去找upstream
4upstream 告訴 ⼀個數據服務器IP
5Nginx去找數據服務器 併發起⽤戶的請求
6) 數據服務器接受請求並處理請求
7) 數據服務器響應請求給Nginx
8Nginx響應請求給⽤戶


nginx

 

#upstream 模塊
upstream web {
server 192.168.10.42;
server 192.168.10.43;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://web;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

 

 解析: 當用戶訪問該服務器時,nginx會做用分發至192.168.10.42/43 這個選擇由upstream去完成web

 

 

基於host分發:chrome

http {
upstream web1 {
server 192.168.10.42;
}
upstream web2 {
server 192.168.10.43;
}
server {
listen 80;
server_name www.web1.com;
location / {
proxy_pass http://web1;
}
}
server {
listen 80;
server_name www.web2.com;
location / {
proxy_pass http://web2;
}
}
}

  

基於開發語⾔分發
yum -y install httpd php   #安裝phph語言
systemctl start httpd #開啟httpd
echo "<?php phpinfo(); ?>" > /var/www/html/index.php #寫一個php文件

  

http {
upstream php {
server 192.168.10.42;
}
upstream html {
server 192.168.10.43;
}
server {
location ~* \.php$ {
proxy_pass http://php;
}
}
location ~* \.html$ {
proxy_pass http://html;
}
}

  

 基於瀏覽器的服務器

upstream elinks { server 192.168.10.42; }
upstream chrome { server 192.168.10.43; }
upstream any { server 192.168.10.42:81; }
server {
listen 80;
server_name www.web1.com;
location / {
proxy_pass http://any;
if ( $http_user_agent ~* Elinks ) {
proxy_pass http://elinks;
}
if ( $http_user_agent ~* chrome ) {
proxy_pass http://chrome;
}
}
}

  

 

高可用性:併發

簡單說就是提升服務器的可用性,預防各種宕機後能夠重啟負載均衡

使用Keepalived 軟件,通過寫腳本,來監控nginxspa

 

 

slat

slat-master 安裝

yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
yum install salt-master
相關文章
相關標籤/搜索