location = / {} //用于不含正则表达式url前,要求请求字符串与url严格匹配。
location ~ / {} //用于表示url含正则表达式,并且区分大小写
location ~* / {} //用于表示url含正则表达式,不区分大小写
location ^~ / {}用于不含正则表达式url前,要求nginx服务找到表示url和请求字符串匹配度最高的location后,立即使用此location处理请求,而不是使用location快中的正则url和请求字符串做匹配
在 nginx 进行请求转发的配置(反向代理配置)
找到 nginx 配置文件,进行反向代理配置
实现效果
浏览器地址栏输入地址 http://192.168.17.129/edu/a.html,负载均衡效果,平均 8080
和 8081 端口中
在 nginx 的配置文件中进行负载均衡的配置nginx 分配服务器策略
-
第一种 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。 -
第二种 weight
weight 代表权重默认为 1,权重越高被分配的客户端越多
-
第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
-
第四种 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
1.什么是动静分离
Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和
静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx处理静态页面,Tomcat 处理动态页面。一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。
具体配置重点是添加 location,
最后检查 Nginx 配置是否正确即可,然后测试动静分离是否成功,之需要删除后端 tomcat
服务器上的某个静态文件,查看是否能访问,如果可以访问说明静态资源 nginx 直接返回
了,不走后端 tomcat 服务器
四-一高可用nginx配置- 1.需要两天nginx服务器
- 2.两台服务器都安装keepalived
yum install keepalived -y 配置文件在/etc/keepalived/keepalived.conf
参考博客:https://www.cnblogs.com/mmdln/p/8988951.html
-3 修改/etc/keepalived/keepalivec.conf 配置文件
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.17.129
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(检测脚本执行的间隔)
weight 2
}
vrrp_instance VI_1 {
state BACKUP # 备份服务器上将 MASTER 改为 BACKUP
interface ens33 //网卡
virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.17.50 // VRRP H 虚拟地址
}
}
- 4.在/usr/local/src 添加检测脚本
#!/bin/bash A=`ps -C nginx –no-header |wc -l` if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx sleep 2 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then killall keepalived fi fi
- 5.把两台服务器上 nginx 和 和 keepalived 启动
- 启动 nginx :./nginx
- 启动 keepalived :systemctl start keepalived.service
- 6.测试
在浏览器地址栏输入 虚拟 ip 地址 192.168.17.50
在浏览器地址栏输入 虚拟 ip 地址 192.168.17.50
五、nginx原理 1.mater 和 worker 2.worker 如何进行工作的 3.一个 master 和多个 woker 有好处(1)可以使用 nginx –s reload 热部署,利用 nginx 进行热部署操作
(2)每个 woker 是独立的进程,如果有其中的一个 woker 出现问题,其他 woker 独立的,
继续进行争抢,实现请求过程,不会造成服务中断
4、设置多少个 woker 合适worker 数和服务器的 cpu 数相等是最为适宜的
5、连接数 worker_connection第一个:发送请求,占用了 woker 的几个连接数?
答案:2 或者 4 个
第二个:nginx 有一个 master,有四个 woker,每个 woker 支持最大的连接数 1024,支持的
最大并发数是多少?
l 普通的静态访问最大并发数是: worker_connections * worker_processes /2,
l 而如果是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections *
worker_processes/4。



