安装ssl证书步骤 ssl加速功能( 五 )

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;}Nginx 配置:动静分离
Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离 。
严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处理动态页面 。
动静分离从目前实现角度来讲大致分为两种:

  • 纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;
  • 动态跟静态文件混合在一起发布,通过 Nginx 来分开 。
通过 Location 指定不同的后缀名实现不同的请求转发 。通过 Expires 参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量 。
具体 Expires 定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可, 所以不会产生额外的流量 。
此种方法非常适合不经常变动的资源(如果经常更新的文件, 不建议使用 Expires 来缓存) 。
我这里设置 3d,表示在这 3 天之内访问这个 URL,发送一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码 304,如果有修改,则直接从服务器重新下载,返回状态码 200 。
①服务器找个目录存放自己的静态文件:
②修改 nginx.conf:
server {listen80;server_namelocalhost;location /static/ {root/usr/data/www;}location /image/ {root /usr/data/;autoindex on;} ③./nginx -s reload,验证效果:
添加监听端口、访问名字重点是添加 Location,最后检查 Nginx 配置是否正确即可,然后测试动静分离是否成功,只需要删除后端 Tomcat 服务器上的某个静态文件,查看是否能访问,如果可以访问说明静态资源 Nginx 直接返回了,不走后端 Tomcat 服务器 。
Nginx 的 Rewrite
Rewrite 是 Nginx 服务器提供的一个重要的功能,它可以实现 URL 重写和重定向功能 。
场景如下:
  • URL 访问跳转,支持开发设计 。页面跳转、兼容性支持(新旧版本更迭)、展示效果(网址精简)等
  • SEO 优化(Nginx 伪静态的支持)
  • 后台维护、流量转发等
  • 安全(动态界面进行伪装)
该指令是通过正则表达式的使用来改变 URI 。可以同时存在一个或多个指令 。需要按照顺序依次对 URL 进行匹配和处理 。
该指令可以在 Server 块或 Location 块中配置,其基本语法结构如下:
rewrite regex replacement [flag]; ①采用反向代理 Demo2 中的例子,修改 nginx.conf(只多加了一行 Rewrite):
server {listen80;server_namelocalhost;location /java/ {proxy_pass http://127.0.0.1:8080;rewrite ^/java /egg/ redirect;}location /egg/ {proxy_pass http://127.0.0.1:8081;} } ②./nginx -s reload,验证效果(输入 ip/java/ 被重定向到了 egg):
Rewrite 指令可以在 Server 块或 Location 块中配置,其基本语法结构如下:
rewrite regex replacement [flag];
  • rewrite 的含义:该指令是实现 URL 重写的指令 。
  • regex 的含义:用于匹配 URI 的正则表达式 。
  • replacement:将 regex 正则匹配到的内容替换成 replacement 。
  • flag:flag 标记 。
flag 有如下值: