• NGINX代理服务器解决方案


    1. 什么是反向代理?
    • Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器。
    1. 配置文件逐个介绍
    • 启动[双击 nginx.exe]
      • 一闪而过, 后台运行, 在任务管理器后台进程中查找nginx是否在运行。
    • 默认端口为80
      • server.listen = 80
    • 默认代理的是本地服务
      • server.server_name = localhost
    • 配客户端发送请求的路径,这里"/"代表所有请求的路径都能匹配。
      • location
    • 请求别匹配到后,会在这个文件夹内寻找相应的文件,root对后面静态资源的处理很重要。
      • root
    • 如果代理没有指定主页,将默认进入index配置下寻找主页,可以配置多个,第一个主页找不到,访问第二个,以此类推。
      • index
    • 代表发生错误后进入的相关错误页面,下面的location也是处理错误的相关配置。
      • error_page
    1. 目录
    • 配置文件
      • nginx-1.20.1/conf/nginx.conf
      • 配置文件中,一个server相当于一个代理服务器,可以配置多个server。
    • 日志文件
      • SUCCESS: nginx-1.20.1/logs/access
      • ERROR: nginx-1.20.1/logs/error
    1. 三大功能
    • 反向代理
      • Nginx在反向代理上,提供灵活的功能,可以根据不同的正则采用不同的转发策略,如图设置好后不同的请求就可以走不同的服务器。
    • 负载均衡
      • 多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。
      • 常用的策略有:轮询(默认)、权重、随机
    • 动静分离
      • 常用于前后端分离,Nginx提供的动静分离是指把动态请求和静态请求分离开,合适的服务器处理相应的请求,使整个服务器系统的性能、效率更高。
      • Nginx可以根据配置对不同的请求做不同转发,这是动态分离的基础。
      • 静态请求对应的静态资源可以直接放在Nginx上做缓冲,更好的做法是放在相应的缓冲服务器上。动态请求由相应的后端服务器处理。
    1. 反向代理Tomcat
    1. Tips
    • nginx支持热部署,nginx只是起到了转发的作用。
    • Nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass【怕啦申 怕死】指令,只需要修改配置文件就可以实现反向代理。配置前的准备工作,后端跑apache服务的ip和端口,也就是说可以通过http://ip:port能访问到你的网站。
    • 百度百科解释:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
    1. nginx配置文件
    #web服务器
    server {
            listen       81; # 监听的端口
            server_name  localhost; # 域名或ip
            location / {      # 访问路径配置
                root   index;# 根目录
                index  index.html index.htm; # 默认首页
            }
            error_page   500 502 503 504  /50x.html;      # 错误页面
            location = /50x.html {
                root   html;
            }
        }
     
    # 虚拟主机    
    server {
            listen       80;
            server_name  www.lishaojun.com;
            location / {
                root   cart;
                index  cart.html;
            }
        }
    server {
            listen       80;
            server_name  abc.lishaojun.com;
            location / {
                root   search;
                index  search.html;
            }
        }
     
    #反向代理+负载均衡
     
    upstream tomcat-travel {
    	  server 192.168.177.129:8080;
    	  server 192.168.177.129:8081  weight=2;
    	  server 192.168.177.129:8082;
    }
    server {
    	listen       80; # 监听的端口
    	server_name  www.lishaojun.com; # 域名或ip
    	location / {      # 访问路径配置
    		# root   index;# 根目录
    	   proxy_pass http://tomcat-travel; # 别名
    		index  index.html index.htm; # 默认首页
    	}
    	error_page   500 502 503 504  /50x.html;      # 错误页面
    	location = /50x.html {
    		root   html;
    	}
    }
    
    1. 参考于[春风化作秋雨]的博客:点击跳转
  • 相关阅读:
    inMap 经纬度 全国 全球
    SpringCloud Stream 使用
    beta阶段贡献分配实施
    20181113-3 Beta阶段贡献分配规则
    作业 20181120-3 Beta发布
    β发布:文案+美工展示博客
    Scrum立会报告+燃尽图(十一月二十七日总第三十五次):β阶段最后完善
    Beta发布——视频博客
    Scrum立会报告+燃尽图(十一月二十六日总第三十四次):上传β阶段展示视频
    Scrum立会报告+燃尽图(十一月二十五日总第三十三次):展示博客
  • 原文地址:https://www.cnblogs.com/Twittery/p/15102738.html
Copyright © 2020-2023  润新知