该学习笔记来自于每特教育
01.什么是dns域名解析
hostname 主机名称 就是我们的域名
taobao.com —域名
localhost --域名 dns解析ip地址
dns通过在本地的hosts文件或电信运营商查询对应域名,将域名解析成ip地址
本地dns域名解析文件:C:\Windows\System32\drivers\etc\hosts
电信运营商:域名配置公网ip地址刷到电信运营商
02.Nginx的基础概述
概述
1.Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
2.其源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
3.Nginx是一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
4.Openresty又称ngx_openresty,是一个给予Nginx的可伸缩的Web平台。
实际应用场景
1.反向代理客户端发送请求到达Nginx服务器,Nginx转发到真实服务器访问,从而保证真实服务安全性。
2.负载均衡能够对集群的节点实现负载均衡和故障转移,负载均衡算法:轮询、权重、随机、hash等。
3.微服务网关入口,可以对微服务网关实现集群。
4.静态服务器比Tomcat性能高很多,可以存放静态资源
5.保护网站使用nginx+lua实现对请求实现服务限流。
03.Nginx的安装方式
1.windows安装nginx
2.linux安装nginx(纯原生方式非常麻烦)
3.使用docker安装nginx
4.使用宝塔可视化界面安装nginx
nginx目录说明
1.conf配置文件(nginx核心配置文件 nginx.conf)
2.contrib 存放一些实用工具
3.docs 存放文档
4.html 存放html 存放静态资源
5.logs 存放日志文件
6.temp 临时文件
04.使用Nginx搭建静态资源服务器
访问方式形如:order.mayikt.com/order.html
root配置为html/order,表明域名指向的路径为静态资源目录html/order下的文件
05.正向代理和反向代理
正向代理:vpn相当于正向代理,隐藏客户端的地址,需要安装软件代理
反向代理:客户端请求到达Nginx代理服务器,在通过代理服务器转发到真实服务器,隐藏服务器端真实的IP信息
正反向代理区别:正向代理隐藏用户的真实行为,反向代理隐藏真实服务器
正向代理图示:
正向代理,是在用户端的,比如需要访问某些国外网站,例如github 在相关部门的允许下,我们可以使用vpn。并且vpn是在我们的用户浏览器端设置的(并不是在远端的服务器设置)。
反向代理图示(nginx和服务端需在同一个局域网内)
06.Nginx配置反向代理
server {
listen 80;
server_name www.mayikt.com;
location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}
}
07.负载均衡策略配置-轮询策略
负载均衡策略
1.轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2.指定权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
3.IP绑定 ip_hash
每个请求按访问ip的hash结果分配,这样每个访问固定访问一个后端服务器,可以解决session的问题。
4.fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5.url_hash(第三方)
按访问url的hash结果来分配请求,是每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
负载均衡部署:
轮询配置:
##定义上游服务器(需要nginx真实代理访问的服务器)默认是轮询机制
upstream backServer{
server 127.0.0.1:8080 weight =2;
server 127.0.0.1:8081 weight =1;
}
server {
listen 80;
server_name upstream.mayikt.com;
location / {
##指定上游服务器负载均衡服务器
proxy_pass http://backServer;
index index.html index.htm;
}
}
08.负载均衡策略配置-权重策略
配置存在强弱,则可以配置权重
##定义上游服务器(需要nginx真实代理访问的服务器)默认是轮询机制
upstream backServer{
server 127.0.0.1:8080 weight =2;
server 127.0.0.1:8081 weight =1;
}
权重2和权重1,表示连续的三次访问,第1、2次会访问到8080那个端口、第3次会访问到8081端口,默认的权重是1:1
09.负载均衡故障转移策略
当转发地址发生了宕机,无法访问nginx会默认自动故障转移切换到下一个地址。
10.Nginx location配置
通过指定模式来与客户端请求的URL相匹配,基本语法如下:location [=||*|^~|@] pattern{…}
1.没有修饰符,表示:必须以指定模式开始,如
server{
server_name member.mayikt.com;
location /member{
proxy_pass http:127.0.0.1:8080/;
index index.html index.htm;
}
}
一个server可以有多个location,通过路径区分,走哪个location,可解决跨域问题:
server {
listen 80;
server_name www.mayikt.com;
location /member {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}
location /order {
proxy_pass http://127.0.0.1:8081;
index index.html index.htm;
}
}
访问www.mayikt.com/member,则走http://127.0.0.1:8080
访问www.mayikt.com/order,则走http://127.0.0.1:8081