nginx反向代理

正向代理的概念:正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
反向代理的概念:反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。
两者区别:
从用途 上来讲:
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径(谷歌翻墙)。正向代理还可以使用缓冲特性减少网络使用率。反向代理的典型用途是将 防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。
从安全性 来讲:
正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。

nginx实现反向代理

在实现反向代理之前,先了解一下nginx的常用命令
在nginx/sbin 目录下 通过./ 启动命令

  • ./nginx -s stop # 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
  • nginx -s quit #平稳关闭Nginx,保存相关信息,有安排的结束web服务。
  • nginx -s reload #因改变了Nginx相关配置,需要重新加载配置而重载。
  • nginx -s reopen #重新打开日志文件。
  • nginx -c filename #为 Nginx 指定一个配置文件,来代替缺省的。
  • nginx -t #不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
  • nginx -v #显示 nginx 的版本。
  • nginx -V #显示 nginx 的版本,编译器版本和配置参数。
    在虚拟机中安装jdk与Tomcat
    到官网下载jdk与Tomcat在Linux下的安装包
    然后通过 cd /usr/local 进入local目录。在local下创建jdk与tomcat的文件夹
    mkdir jdk
    mkdir tomcat
    进入jdk rz文件:jdk-9.0.1_linux-x64_bin.tar.gz
    解压
    tar –zxvf jdk-9.0.1_linux-x64_bin.tar.gz
    在这里插入图片描述
    配置环境变量:
    vim /etc/profile
    G进入最后添加:
    JAVA_HOME=/usr/local/jdk/jdk-9.0.1
    CLASSPATH= J A V A H O M E / l i b / P A T H = JAVA_HOME/lib/ PATH= JAVAHOME/lib/PATH=PATH:$JAVA_HOME/bin
    export PATH JAVA_HOME CLASSPATH
    在这里插入图片描述
    保存退出
    从新加载配置文件
    source /etc/profile
    在这里插入图片描述
    进入tomcat rz文件:apache-tomcat-9.0.4.tar.gz
    tar -zxvf apache-tomcat-9.0.4.tar.gz
    在这里插入图片描述
    启动:进入bin目录 执行 ./startup.sh
    在这里插入图片描述
    关闭防火墙就 可以在外面直接访问了
    在这里插入图片描述
    进入nginx的配置文件目录
    在这里插入图片描述
    vim nginx.conf
#运行用户
#user  nobody;
#启动进程 通常设置与cpu数量相同
worker_processes  1;
#错误日志路径配置
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#记录当前nginx启动的历史进程PID
#pid        logs/nginx.pid;

#工作模式及连接数上限,单个后台worker 进程的最大并发连接数
events {
    worker_connections  1024;
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    include       mime.types;
    default_type  application/octet-stream;
        #日志格式
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;
   #上面已经有描述了
    sendfile        on;
    #tcp_nopush     on;
        #链接超时时间
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    #设置代理的服务器列表 这儿暂时一台 指向虚拟机本机的8080tomcat
    upstream hellonginx{
     server 127.0.0.1:8080;
   }
#http服务器
        server {
        #监听端口80  也就是输入该虚拟机ip就直接访问的端口
        listen       80;
        #定义域名访问 与windows中配置的虚拟域名对应
        server_name  nginx.test.com;
        #编码格式
        charset utf-8;
        #代理配置超时、头信息等参数 可以不配置
                proxy_connect_timeout 180;
                proxy_send_timeout 180;
                proxy_read_timeout 180;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarder-For $remote_addr;
        #access_log  logs/host.access.log  main;
        #
        #反向代理路径(和upstream绑定)
        location / {
            proxy_pass http://hellonginx;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        #错误页面配置 可以不配置
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

重启nginx
在这里插入图片描述
2.配置windows的虚拟路径
在这里插入图片描述
在这里插入图片描述
访问域名即可

配置多台tomcat实现负载均衡

复制tomcat,修改新的tomcat的端口号:进入tomcat2配置文件conf中 修改server.xml
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存退出 分别进入tomcat的bin目录 ./startup.sh启动
修改nginx配置文件,有几个服务器就添加几个,weight代表权重指定轮询几率
在这里插入图片描述
重启nginx
./nginx -s reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值