DNS协议
将域名和ip互相映射成一个分布式数据库,用来解析域名和ip之间的关系。域名有利于记忆。
内网穿透工具
Natapp,Ngrok
Nginx介绍
nginx是一个轻量级的web服务器,主要应用场景
- 反向代理:使用反向代理隐藏真实的服务ip,一般真实的服务器地址不能直接通过外网直接访问。
- 负载均衡:减少单台服务器压力,故障转移。
- 接口网关:搭建API接口网关,解决网站跨域问题。
- 虚拟主机:将一台服务器拆分多个网站部署。
- 防DDOS:防止DDOS攻击。
- 网站动静分离。
- 配置缓存。
###配置文件
server {
listen 80;
#listen 81;
server_name bbs.a1.com;
#server_name www.a1.com;
location / {
###root data/bbs;
###nginx 反向代理转发的真实ip地址
proxy_pass http://www.baidu.com;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Location表达式
- =/:开头表示精确匹配
- /:匹配所有
- ~:区分大小写
- ~*:不区分大小写
###根据访问路径分配项目
server {
listen 80;
server_name www.a1.com;
location /baidu/ {
#root data/bbs;
proxy_pass http://www.woshi1688.com/;
index index.html index.htm;
}
location /woshi/ {
#root data/bbs;
proxy_pass http://www.baidu.com/;
index index.html index.htm;
}
}
负载均衡缺点
负载均衡是建立在服务器集群上的,服务器集群就会产生很多分布式问题。
- 分布式session一致问题
- 分布式定时任务幂等性问题
- 全局id问题
4层负载和7层负载区别
四层负载是基于tcp协议负载的,通过修改报文的源地址和目标地址。LVS
七层负载是基于http协议负载的。
配置upstream上游服务器
负载均衡算法:轮询算法,权重算法,ip_hash算法
#配置上游服务器
upstream aserver {
#wegiht 配置权重
#server 127.0.0.1:8080 weight=1;
#server 127.0.0.1:9191 weight=5;
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:9191 weight=1;
server 127.0.0.1:9999 weight=1;
}
###nginx故障转移,如果服务器发生故障,nginx会采用就近原则
server {
listen 80;
server_name www.a1.com;
location / {
proxy_pass http://aserver;
###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_connect_timeout 1s;
###nginx发送给上游服务器(真实访问的服务器)超时时间
proxy_send_timeout 1s;
### nginx接受上游服务器(真实访问的服务器)超时时间
proxy_read_timeout 1s;
index index.html index.htm;
}
}