反向代理:客户端访问代理服务器,代理服务器代理web站点响应用户请求
一台nginx 一台tomcat
实现nginx反向代理tomcat
(用户访问nginx服务器,实际访问到的是tomcat页面)
开启nginx服务
vim /usr/local/nginx/conf/nginx.conf
修改配置文件,代理tomcat的地址192.168.38.5:8080

nginx -s reload
打开浏览器输入192.168.38.3

反向代理二
根据访问的不同路径 nginx 反向代理到不同的服务器上
http://192.168.38.3/edu 直接跳转到 192.168.38.5:8080/edu
http://192.168.38.3/vod 直接跳转到 192.168.38.6:8080/vod
两台tomcat 服务器 地址分别为 192.168.10.45 192.168.10.47 并tomcat 都已启动
准备edu 和aaa测试页面
192.168.38.5主机
cd /usr/local/tomcat/webapps/
mkdir edu
echo "edu.com" > edu/index.html

192.168.38.6主机
cd /usr/local/tomcat/webapps/
mkdir aaa
echo "8888" > aaa/index.html

修改nginx 主机 配置文件
vim /usr/local/nginx/conf/nginx.conf

nginx -s reload
网页测试
192.168.38.3/edu/

192.168.38.3/aaa/

负载均衡:nginx作为调度服务器,反向代理多台web服务器响应用户请求
策略: 轮询 权重 ip_hash fair(按照后端相应时间)
在上面实验的基础上做
将 192.168.38.6 中 aaa 文件夹 更名为 edu
cd /usr/local/tomcat/webapps
mv aaa edu
修改nginx 服务器配置文件
vim /usr/local/nginx/conf/nginx.conf

nginx -s reload
浏览器测试,刷新内容交替出现


动静分离
将动态请求和静态请求分开
两种方案:
纯粹的把静态资源独立成单独的域名 放到一台服务器上 目前主流的方法
另一种是动态跟静态资文件混合在一起发布 通过 nginx 来分开
准备静态资源
nginx 服务器上
cd /
mkdir /data
cd /data
mkdir www image
echo "<h1>static web test</h1>" > www/test.html

cd image //上传两张图片并改名

动态资源使用 tomcat 服务器 默认 无需改动
修改 nginx 配置文件

nginx -s reload
网页测试

http://192.168.38.3/image/1.png

http://192.168.38.3/image/2.png


重写
rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标记位实现URL重写以及重定向。更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网站防盗链等等需求
修改配置文件


重读 nginx -s reload


本地磁盘地址C:\Windows\System32\drivers\etc\hosts
域名解析

浏览器访问www.aax.com 会转到 www.liangzhi.cn
