我是靠谱客的博主 开心冰淇淋,最近开发中收集的这篇文章主要介绍Linux云计算学习笔记day49负载均衡与keepalived根据用户的uri进行转发 动静分离web01lb01 lb02 web01 web02lb01 lb02,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
负载均衡与keepalived
[root@lb01 ~]# curl
10.0.0.5
web01 www.oldboy.com
[root@lb01 ~]# curl
10.0.0.5
web02 www.oldboy.com
[root@lb01 ~]# curl
10.0.0.5
web01 www.oldboy.com
[root@lb01 ~]# curl
10.0.0.5
web02 www.oldboy.com
--->web01 PC 存放在web01
LB01
判断用户客户端类型
----->
|
--->web02 移动端
web02
#web01
echo
this is
PC website
>/app/www/lidao.html
#web02
echo
this is
Mobile website
>/app/www/lidao.html
[root@lb01 ~]# curl 10.0.0.7/lidao.html
this is PC website
[root@lb01 ~]# curl 10.0.0.8/lidao.html
this is Mobile website
[root@lb01 ~]# curl 10.0.0.[7-8]/lidao.html
[1/2]: 10.0.0.7/lidao.html --> <stdout>
--_curl_--10.0.0.7/lidao.html
this is PC website
[2/2]: 10.0.0.8/lidao.html --> <stdout>
--_curl_--10.0.0.8/lidao.html
this is Mobile website
upstream
default {
server 10.0.0.7:80 weight=1 max_fails=3 fail_timeout=10s;
}
upstream
mobile {
server 10.0.0.8:80 weight=1 max_fails=3 fail_timeout=10s;
}
#
include /etc/nginx/conf.d/*.conf;
server
{
listen 80;
server_name www.oldboy.com;
location
/ {
if ($http_user_agent ~* "Android|IOS") {
proxy_pass http://mobile;
}
proxy_pass http://default;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For
$remote_addr;
}
}
[root@lb01 /etc/nginx]# curl
10.0.0.5/lidao.html
this is PC website
[root@lb01 /etc/nginx]# curl -A ios
10.0.0.5/lidao.html
this is Mobile website
根据用户的uri进行转发 动静分离
web01
mkdir -p
/app/www/upload/
echo
this is upload
>/app/www/upload/guoav.html
#web02
mkdir -p
/app/www/static/
echo
this is static
>/app/www/static/guoav.html
#web03
mkdir -p
/app/www/
echo
this is default
>/app/www/guoav.html
#测试
[root@lb01 /etc/nginx]# curl
10.0.0.7/upload/guoav.html
this is upload
[root@lb01 /etc/nginx]# curl
10.0.0.8/static/guoav.html
this is static
[root@lb01 /etc/nginx]# curl
10.0.0.9/guoav.html
this is default
#修改lb负载均衡配置
nginx.conf核心配置
upstream
upload {
server 10.0.0.7:80 weight=1 max_fails=3 fail_timeout=10s;
}
upstream
static {
server 10.0.0.8:80 weight=1 max_fails=3 fail_timeout=10s;
}
upstream
default {
server 10.0.0.9:80 weight=1 max_fails=3 fail_timeout=10s;
}
#
include /etc/nginx/conf.d/*.conf;
server
{
listen 80;
server_name www.oldboy.com;
location
/upload {
proxy_pass http://upload;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For
$remote_addr;
}
location
/static {
proxy_pass http://static;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For
$remote_addr;
}
location
/ {
proxy_pass http://default;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For
$remote_addr;
}
lb01 lb02 web01 web02
lb01 lb02
yum install keepalived
-y
[root@lb01 /etc/nginx]# cat nginx.conf
user
nginx;
worker_processes
1;
error_log
/var/log/nginx/error.log warn;
pid
/var/run/nginx.pid;
events {
worker_connections
1024;
}
http {
include
/etc/nginx/mime.types;
default_type
application/octet-stream;
log_format
main
'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log
/var/log/nginx/access.log
main;
sendfile
on;
#tcp_nopush
on;
keepalive_timeout
65;
#gzip
on;
upstream
web_pools {
ip_hash;
server 10.0.0.7:80 weight=1 max_fails=3 fail_timeout=10s;
server 10.0.0.8:80 weight=1 max_fails=3 fail_timeout=10s;
}
#
include /etc/nginx/conf.d/*.conf;
server
{
listen 80;
server_name www.oldboy.com;
location
/ {
proxy_pass http://web_pools;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For
$remote_addr;
}
}
server
{
listen 80;
server_name blog.oldboy.com;
location
/ {
proxy_pass http://web_pools;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For
$remote_addr;
}
}
}
cookie session(会话)
共同点:
存放用户信息
key value类型 变量和变量内容
区别
cookie
存放在浏览器
存放钥匙
开发设置
响应服务器给你设置
session
存放在服务器
redis中
存放敏感
锁头
1)VRRP协议,全称Virtual Router Redundancy Protocol,中文名为虚拟路由冗余协议,VRRP的出现是为了解决静态路由的单点故障。
3)VRRP是用过IP多播的方式(默认多播地址(224.0.0.18))实现高可用对之间通信的。
4)工作时主节点发包,备节点接包,当备节点接收不到主节点发的数据包的时候,就启动接管程序接管主节点的资源。备节点可以有多个,通过优先级竞选,但一般Keepalived系统运维工作中都是一对。
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.3/24 dev eth0 label eth0:1
}
}
最后
以上就是开心冰淇淋为你收集整理的Linux云计算学习笔记day49负载均衡与keepalived根据用户的uri进行转发 动静分离web01lb01 lb02 web01 web02lb01 lb02的全部内容,希望文章能够帮你解决Linux云计算学习笔记day49负载均衡与keepalived根据用户的uri进行转发 动静分离web01lb01 lb02 web01 web02lb01 lb02所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复