nginx的负载均衡配置和重定向

embedded/2024/10/20 10:27:52/


upstream_check模块 

 


配置文件详情 
 

upstream cluster1{server 10.0.0.4:80  weight=1 max_fails=3 fail_timeout=30s;server 10.0.0.5:80  weight=1 max_fsils=3 fsil_tomeout;check interval=3000 rise=2 fall=5 timeout=1000 type=http;check interval=3000 rise=2 fall=5 timeout=1000 type=http;check_http_send "HEAD /HTTP/1.0/r/n/r/n";check_http_expect_alive http_2xx http_3xx;
} server {listen 80;server_name Lb.oldboylinux.cn;error_log /var/log/nginx/lb-error.log notice;access_log /var/log/nginx/lb-access.log main;location / {proxy_pass http://lb_pools;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;}
}location /1{proxy_pass http://cluster1;
}location /2{proxy_pass http://cluster2;
}location /status{check_status;access_log  off;allow 10.0.0.1;allow 10.0.0.0/24;deny all;
}}




最后访问Lb.oldboylinux.cn页面出来的是测试模块


 


web集群  nginx rewrite功能 
 

nginx重定向
url重定向又叫做url改写 


rewrite模块 

 
 

return指令 

我们在配置文件中加入reutrn 模块 

具体如下
 

server {listen 80;server_name rewrite.xm cn;  # 修正 server_nameroot /app/code/rewrite;location / {index index.html;try_files $uri $uri/ =404;  # 处理文件不存在的情况}location /admin/ {return 403;  # 禁止访问}
}


当我们做好域名解析以后 访问网站/admin/模块就会出现以下情形
 



域名间跳转 

 

server {listen 80;server_name rewrite.xm cn;  # 修正 server_nameroot /app/code/rewrite;# 对根路径的请求location / {index index.html;try_files $uri $uri/ =404;  # 处理文件不存在的情况}# 对/admin/路径的请求location /admin/ {return 403;  # 禁止访问}# 如果希望重定向某个具体路径,可以添加相应的 location 块location /redirect {return 301 http://www.baidu.com;  # 重定向到百度}
}


nginx   if判断 

一般放在 server,location 


if(条件){
满足条件执行的内容
}
 

set 自己创建或者修改nginx变量 

set $变量 值 

 

http {server {listen 80;server_name example.com;# 设置一个变量set $is_mobile "no";# 检查请求头中的User-Agent是否包含"Mobile"if ($http_user_agent ~* "Mobile") {set $is_mobile "yes";}location / {# 如果变量$is_mobile为"yes",则返回状态码403if ($is_mobile = "yes") {return 403;}# 否则,返回状态码200return 200;}}
}




rewrite模块 
 

 




域名跳转 

 

server {listen 80;server_name rewrite.oldboylinux.cn;# 这一行是实际执行的重写规则rewrite ^([^/]*)$ http://www.baidu.com$1;
}



http://www.ppmy.cn/embedded/128970.html

相关文章

985研一学习日记 - 2024.10.16

一个人内耗,说明他活在过去;一个人焦虑,说明他活在未来。只有当一个人平静时,他才活在现在。 日常 1、起床6:00√ 2、健身1个多小时 今天练了二头和背部,明天练胸和三头 3、LeetCode刷了3题 旋转图像&#xff1a…

Elasticsearch基本使用及介绍

Elasticsearch 1. 关于各种数据库的使用 关于MySQL:是关系型数据库,能清楚的表示数据之间的关系,并且,是基于磁盘存储的,可以使用相对较低的成本存储大量的数据 关于Redis:是基于K-V结构的在内存中读写数…

【日志】关于多益网申

2024.10.19 早先听闻多益的测试题非常抽象,凡是测过的人都说太抽象了,我还以为他考我各种算法或者编程语言呢。我今天也去做了一下,测试题里面大多都考些计算题,找规律题,判断推理题,还有一些图形转换&…

C++第七讲:STL--list的使用及模拟实现

C第七讲:STL--list的使用及模拟实现 1.list的使用1.1list是什么1.2构造、析构、赋值运算符重载1.3迭代器1.4empty、size、max_size1.5front、back1.6assign -- 代替1.7push_back和emplace_back1.8emplace1.9insert、erase、swap、resize、clear1.10find1.11splice1.…

Redis两种持久化方式

目录 一、Redis持久化 RDB 四种执行场景 底层执行原理 优缺点 AOF 三种fsync策略 AOF重写机制 工作基本流程 优缺点 RDB和AOF的对比 混合持久化 Redis 持久化的主要目的是为了确保数据的持久性和可靠性,避免因意外崩溃或重启导致的数据丢失。以下是一些进…

ardupilot开发 --- 被裁后的总结 篇

打工人的终极目标是体制内 一个目标检测开源项目 Frigatemsm8916 4g网卡的逆向工程和主线移植安卓地面站、大疆SDK国产机载计算机厂商有没有大佬介绍工作啊啊啊???? 一个目标检测开源项目 Frigate Frigate 实时物体检测 https://…

linux 多线程共用一个变量不使用互斥锁实现线程间同步

在Linux中,如果你想要在多个线程之间共享一个变量,并且你想要确保一个线程写入而另一个线程读取时能够及时同步,你可以使用原子操作。 对于写入线程,你可以使用 atomic_store 来存储变量,对于读取线程,你可…

算法: 模拟题目练习

文章目录 模拟替换所有的问号提莫攻击Z 字形变换外观数列数青蛙 总结 模拟 替换所有的问号 按照题目的要求写代码即可~ public String modifyString(String ss) {int n ss.length();if (n 1) {return "a";}char[] s ss.toCharArray();for (int i 0; i < n; i…