Nginx的使用
1、反向代理一
实现效果:使用 nginx 反向代理,访问 www.123.com
直接跳转到 127.0.0.1:8080
准备工作 :
(1)在 linux 系统安装 tomcat,使用默认端口 8080
(2)tomcat 安装文件放到 linux 系统中,解压 进入 tomcat 的 bin 目录中,./startup.sh
启动 tomcat 服务器
具体配置 :
第一步 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置
192.168.251.113 www.123.com
第二步 在 nginx 进行请求转发的配置(反向代理配置)
在 nginx.conf 配置文件中增加如下配置
测试:
其实是把http://192.168.251.113/
代理到http://192.168.251.113:8080
2、反向代理二
实现效果:
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
nginx 监听端口为 9001
,
访问 http://127.0.0.1:9001/edu/
直接跳转到 127.0.0.1:8081
访问 http://127.0.0.1:9001/vod/
直接跳转到 127.0.0.1:8082
实验准备:
第一步,准备两个 tomcat,一个 8001 端口,一个 8002 端口,并准备好测试的页面。
修改server.xml
中的端口
<Server port="8010" shutdown="SHUTDOWN">
<Connector port="8001" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
<Server port="8012" shutdown="SHUTDOWN">
<Connector port="8002" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8013" protocol="AJP/1.3" redirectPort="8443" />
具体配置
(1)找到 nginx 配置文件,进行反向代理配置
测试:
3、负载均衡
准备工作
(1)准备两台 tomcat 服务器,一台 8001,一台 8002
(2)在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建 页面 a.html,用于
测试
在 nginx 的配置文件中进行负载均衡的配置
nginx 分配服务器策略 :
第一种 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
第二种 weight
weight 代表权重默认为 1,权重越高被分配的客户端越多
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:
upstream server_pool{
server 192.168.5.21 weight=10;
server 192.168.5.22 weight=10;
}
第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。 例如:
upstream server_pool{
ip_hash;
server 192.168.5.21:80;
server 192.168.5.22:80;
}
第四种 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream server_pool{
server 192.168.5.21:80;
server 192.168.5.22:80;
fair;
}
4、动静分离
Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和 静态页面物理分离。
严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处理动态页面。
准备工作 :
在 liunx 系统中准备静态资源,用于进行访问
在 nginx 配置文件中进行配置:
测试:
因为配置文件 autoindex on