8、nginx和tengine簡介
練習:
(1) root為同一路徑;
(2) root為不同的路徑;
location \.php$ {
root /web/app/wp;
}
location / {
root /web/htdocs;
}
如何解決問題?
(3) fpm server為另一主機;
location \.php$ {
fastcgi_pass fastcgi://172.16.100.9:9000;
}
location / {
root /web/htdocs;
}
總結:
cache:
proxy_cache
fastcgi_cache
練習:
使用nginx反向代理(rr排程)使用者請求至兩個以上的後端LAMP(按標準路徑部署的有pma);
(1) 手動更新所有節點上的pma至新版本;
(2) 寫指令碼實現如上過程;
回顧:nginx upstream, fastcgi
upstream name {
server
server
}
wrr
ip_hash|least_conn|sticky
fastcgi_pass fastcgi://
LNMMP: Memcached
HAProxy:
web arch: haproxy
mode: http, tcp (https, mysql)
HAProxy:
代理(http): 掮客(broker)
正向代理
反向代理:
代理作用:web快取(加速)、反向代理、內容路由(根據流量及內容型別等將請求轉發至特定伺服器)、轉碼器;
在代理伺服器上新增Via首部;
快取的作用:
減少冗餘內容傳輸;
節省頻寬、緩解網路瓶頸;
降低了對原始伺服器的請求壓力;
降低了傳輸延遲;
HAProxy: 只是http協議的反向代理,不提供快取功能;但額外支援對tcp層對基於tcp通訊的應用做LB;
nginx:
server {
}
server {
location ~* \.php$ {
proxy_pass
}
location / {
}
}
upstream {
leastconn
server
server
}
upstream {
}
haproxy:
frontend
use_backend
default_backend
backend
balancer
server
server
listen:
server
default
配置檔案:haproxy.cfg
全域性配置
代理配置
回顧:
HAProxy:
http協議反向代理
tcp層的LB
特性:event-driven, ebtree
配置:/etc/haproxy/haproxy.cfg
/usr/sbin/haproxy
CentOS 6: /etc/rc.d/init.d/haproxy
CentOS 7: haproxy.service
配置分為兩段:
global
配置引數:log, maxconn, ...
proxies
defaults, frontend, backend, listen
示例:
frontend main *:80
default_backend websrvs
backend websrvs
balance roundrobin
server web1 172.16.100.68 check
server web2 172.16.100.69 check
nihoa