一、Nginx简介
Nginx是一个轻量级的、高性能的、基于Http的、反向代理服务器,静态web服务器。 不论使用java、PHP、C#等语言开发后台,Nginx独立于功能框架,做到平台通用
Nginx特点:高并发、低消耗、高可用、高扩展、热部署。
二、正向代理和反向代理
1、正向代理
正向代理类似一个跳板机,代理访问外部资源
比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问谷歌,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了。
正向代理用途:翻墙、提速等
2、反向代理
反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器
反向代理作用:负载均衡、动静分离
三、使用Nginx
1、Nginx官网
http://nginx.org/
2、Nginx安装
2.1 Yum安装
安装
yum install nginx
启动
systemctl start nginx
2.2 Docker安装
拉取镜像
docker pull nginx:latest
运行容器
docker run --name nginx-test -p 8080:80 -d nginx
参数说明:
–name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行
3、浏览器访问
4、请求定位
4.1普通匹配
location /a {
proxy_pass https://www.baidu.com/;
}
4.2长路径匹配
location /a/bbb {
proxy_pass https://www.baidu.com/;
}
4.3正则匹配
location ~/bbb {
return 400;
}
4.4精准匹配
5、静态代理
5.1访问静态资源
5.2动静分离
新建一个页面
配置nginx
6、负载均衡
配置nginx
location / {
proxy_pass https://liqy;
proxy_redirect default;
}
轮询:
upstream liqy {
server 127.0.0.1:8080 ;
server 127.0.0.1:8081 ;
}
权重:
upstream liqy {
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=1;
}
Iphash:
upstream liqy {
iphash;
server 127.0.0.1:8080 ;
server 127.0.0.1:8081 ;
}
最小连接:
upstream liqy {
least_conn;
server 127.0.0.1:8080 ;
server 127.0.0.1:8081 ;
}
Fair:
upstream liqy {
server 127.0.0.1:8080 ;
server 127.0.0.1:8081 ;
fair;
}