Nginx使用
参考视频:https://www.bilibili.com/video/BV1zJ411w7SV?spm_id_from=333.1007
1.正向代理与反向代理
1.1 正向代理
- 在客户端(浏览器)配置代理服务器,通过代理服务器访问互联网访问。
类似于爬虫中设置的代理IP由客户端设定。
1.2 反向代理
我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器的地址,隐藏了真是服务器的地址。
2.负载均衡
2.1 请求流程
2.2 概述
3.动静分离
4.Nginx中的常用命令
4.1 Linux安装Nginx
详情请参考:cnblogs.com/Blogwj123/p/15525270.html
# 通常是使用Nginx命令是进入Nginx的目录后使用的
# 1.查看版本号
./Nginx -v
# 2.开始
./Nginx
# 3.关闭
./Nginx -s stop
# 4.重新加载
./Nginx -s reload
# 5.查看帮助
./Nginx -h
5.Nginx的配置文件
5.1 配置文件的组成
位置:
5.1.1 全局块
-
#user nobody; worker_processes 1; # worker_processes值越大,表示支持并发数量越多。 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/Nginx.pid;
5.1.2 events块
events
块涉及的指令主要影响Nginx
服务器与用户网络连接
events {
worker_connections 1024; # 表示最大连接数。
}
5.1.3 Http块
1.http全局块
2.Server块
6.反向代理实现
6.1 简单demo
server {
listen 80;
server_name localhost; # 改为IP地址
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http:127.0.0.1:8080;
index index.html index.htm;
}
}
6.2 匹配正则
server {
listen 9001;
server_name IP地址;
location ~/edu/ { # 路径中包含edu转发到 8081的地址
proxy_pass http://127.0.0.1:8080;
}
location ~/vod/ { # 路径中包含vod转发到 8081的地址
proxy_pass http://127.0.0.1:8081;
}
}
6.3 负载均衡
-
实现效果
-
配置
http { upstream mysever{ server 127.0.0.1:8080; # 后面还有weight 代表权重,表示分配到的概率。 server 127.0.0.1:8080; } server { listen 80; server_name 192.168.17.129; location / { proxy_pass http://myserver; } } }
-
Nginx提供的分配策略
-
轮训(默认)
每个请求按照时间顺序注意分配到不同的后端服务器,如果后端
down
掉能自动剔除。 -
weight
weight
代表权重默认值是1,权重越高被分配的客户端越多;http { upstream mysever{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8080 weight=3; } server { listen 80; server_name 192.168.17.129; location / { proxy_pass http://myserver; } } }
-
ip_hash
每个请求按访问IP的
hash
结果分配,这样每一个访客固定访问一个后端服务器,可以解决session
的问题,例如;http { upstream mysever{ ip_hash; server 127.0.0.1:8080 weight=1; server 127.0.0.1:8080 weight=3; } server { listen 80; server_name 192.168.17.129; location / { proxy_pass http://myserver; } } }
-
fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
http { upstream mysever{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8080 weight=3; fair; } server { listen 80; server_name 192.168.17.129; location / { proxy_pass http://myserver; } } }
7.动静分离实现
7.1 概述
- 目的:提高访问效率。
-
两种方式
1.一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上发布,目前主流方式。
-
缓存
location的缓存时间,结合浏览器确认使用。具体间概述。
不适用与经常更改的静态资源。
7.2 配置
server {
listen 9001;
server_name IP地址;
location /www { # data目录下的文件夹 该路径一般写成static
root /data/ ;# root下的文件夹
index index.html index.htm; # 默认的,根据情况修改。
}
location /image/ { #
root /data/;
autoindex on; # 显示静态资源列表
}
}
8.高可用
问题:
主从复制 :
- 需求:
- 两台
Nginx
- 需要
Keepalived
- 需要虚拟
IP
- 两台
9.Nginx原理
9.1 master-worker
9.2 worker 如何进行工作
9.3 优势
Nginx
和redis
类似都才用了io多路复用机制;worker数和cpu数量相等比较合适。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。