1.DNS域名解析:
host文件:在Windows中可以通过C:\Windows\System32\drivers\etc\hosts文件来设置。
2.外网映射工具:
可以让外网访问本地应用程序:常用的外网测试工具有natapp、ngrok
3.nginx应用场景:
1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。
4、nginz 中也可以配置安全管理、比如可以使用Nginx搭建API接口网关,对每个接口服务进行拦截。
4.nginx虚拟主机配置:
基于域名配置虚拟主机:修改nginx conf下的nginx.conf配置文件,其中的server设置如下,当客户端访问www.oltest.com时,直接跳转到nginx下data/test去找index.html index.htm文件。
server
{
listen 80;
server_name www.oltest.com;
location / {
root data/test;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.oltest2.com;
location / {
root data/test2;
index index.html index.htm;
}
}
5.nginx反向代理:
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
反向代理的好处
反向代理的好处隐藏真实内部ip地址,请求先访问nginx代理服务器(外网可以访问到),在使用nginx服务器转发到真实服务器中。
反向代理配置文件nginx.conf server配置:
server {
listen 80;
server_name www.oltest.com;
#匹配所有以/开头请求
location / {
proxy_pass http://127.0.0.1:8080; 配置转发路径
index index.html index.htm;
}
}
location的作用
location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。
location的语法
已=开头表示精确匹配; ^~ 开头表示uri以某个常规字符串开头,不是正则匹配
~ 开头表示区分大小写的正则匹配; ~* 开头表示不区分大小写的正则匹配
/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到
6.nginx负载均衡:
什么是负载均衡:
为了解决高并发,负载均衡器拦截到所有请求,再采用负载均衡算法(轮询,权重,ip绑定)分配到不同真实的服务上。
负载均衡的作用:
减轻单台服务器压力
服务器集群(分布式中常见问题)
1.分布式Session一致性问题 2.分布式Job幂等性(唯一性)问题 3.分布式生成全局 id
4.分布式锁解决方案 5.分布式配置中心 6.分布式日志收集系统
四层负载和七层负载均衡的区别:
四层负载均衡,在网络模型中的传输层中,基于主要是基于tcp协议报文实现负载均衡(比如LVS、haproxy就是四层负载均衡器),使用改写报文的源地址和目的地址。
七层负载均衡,在网络模型中应用层中,基于URL或者HTTP协议实现负载均衡,Web服务器。
nginx配置负载均衡:
upstream backServer{
server 127.0.0.1:8080; //真实服务器地址 默认轮询算法实现负载均衡
server 127.0.0.1:8081;
}
轮询:每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。
----------------------------------------------------------------------------------------------------------------------------
权重方式:
upstream backServer{
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=3;
}
------------------------------------------------------------------------------------------------------------------------------
Ip绑定方式:可以解决session 一致性问题,但是不常用。
upstream backServer{
server 127.0.0.1:8080 ;
server 127.0.0.1:8081 ;
ip_hash;
}
每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题。俗称IP绑定。
---------------------------------------------------------------------------------------------------------------------------
server {
listen 80;
server_name www.test.com; //浏览器输入域名
location / {
### 指定上游服务器负载均衡服务器
proxy_pass http://backServer;
index index.html index.htm;
}
}
7.nginx配置故障转移:
当上游服务器(真实访问服务器),一旦出现故障或者是没有及时响应的话,应该直接轮训到下一台服务器,保证服务器的高可用。
server {
listen 80;
server_name www.itmayiedu.com;
location / {
### 指定上游服务器负载均衡服务器
proxy_pass http://backServer;
###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_connect_timeout 3s;
###nginx发送给上游服务器(真实访问的服务器)超时时间
proxy_send_timeout 3s;
### nginx接受上游服务器(真实访问的服务器)超时时间
proxy_read_timeout 3s;
index index.html index.htm;
}
}