【Nginx】- 02 Nginx反向代理、负载均衡、动静分离、虚拟域名配置

49 篇文章 0 订阅
12 篇文章 0 订阅


关于基础概念,已经在上篇讲述清楚,本篇不多赘述

1 反向代理

向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

1.1 nginx配置

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        #root   html;
        #index  index.html index.htm;
        proxy_pass http://101.132.152.21:8888/;
    }
}

2 负载均衡

2.1 ngxin配置

#声明tomcat集群
upstream  fengmi {
    server    localhost:8889;
    server    localhost:8888;
}

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        proxy_pass http://fengmi/;
    }
}

2.2 nginx负载均衡策略

2.2.1 默认轮询

2.2.2 权重

#声明tomcat集群
upstream  fengmi {
    server    localhost:8889 weight=2;
    server    localhost:8888 weight=1;
}

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        proxy_pass http://fengmi/;
    }
}

2.2.3 iphash

指定负载均衡服务器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。

#声明tomcat集群
upstream  fengmi {
	ip_hash;
    server    localhost:8889;
    server    localhost:8888;
}

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        proxy_pass http://fengmi/;
    }
}

2.2.4 least_conn

把请求转发给连接数较少的后端服务器。轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同;但是,有些请求占用的时间很长,会导致其所在的后端负载较高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果。

#声明tomcat集群
upstream  maitaole {
	least_conn;    #把请求转发给连接数较少的后端服务器
    server    localhost:8889;
    server    localhost:8888;
}

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        proxy_pass http://fengmi/;
    }
}

3 动静分离

3.1 打包前端项目

  • 修改src/utils/request.jsp中的baseUrl为后端的nginx服务器的地址

  • 执行npm run build打包项目

3.2 部署前端项目

  • 将dist目录下的资源上传到nginx服务器的html目录下

  • 修改nginx服务器配置

location / {
    root   html;
    index  index.html index.htm;
}

因为现在前端和后端都在同一个nginx服务器上,所以要分开部署

  • 同一台服务器上安装两个Nginx,并修改不同的端口(如:前端部署在8080上,后端部署在80上)
  • 将前端和后端部署在不同的服务器上

3.3 配置静态图片资源访问

配置Nginx访问路径

# 配置图片访问地址
location /upload/ {
	alias D:/workspace/upload/;  # 如果是linux环境则配置(路径自由选择):/usr/local/upload
}

4 虚拟域名配置

4.1 修改nginx配置

#声明tomcat集群
upstream  maitaole {
    server    localhost:8889;
    server    localhost:8888;
}

server {
    listen       80;
    server_name   www.qfjava.com;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        proxy_pass http://fengmi/;
    }
}

4.2 修改本地域名解析器

修改C:\Windows\System32\drivers\etc\hosts文件

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
101.132.152.21      www.yingjava.com

4.3 访问测试

http://www.yingjava.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yinying293

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值