博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 下 Nginx 反向代理 负载均衡配置
阅读量:6507 次
发布时间:2019-06-24

本文共 2211 字,大约阅读时间需要 7 分钟。

转载请注明出处:

上一篇分享了 Nginx + JDK + Tomcat + MySQL 安装使用指南,感觉还是相当实用的,本篇主要介绍 Nginx 反向代理和负载均衡的配置方法。先看一下 Nginx 反向代理的过程:

Nginx反向代理的过程

然后看一下Nginx负载均衡的过程(会自动选择压力较小的服务器进行访问):

Nginx负载均衡的过程

可以看出,负载均衡是通过反向代理的原理实现的 。负载均衡的核心就是建立一个服务器集群,然后用户首先访问到第三方代理服务器(Nginx),然后由代理服务器选择一个集群中的服务器,然后将请求引入选定的服务器(Tomcat)。负载均衡实现的方式分为软件实现和硬件实现两种,硬件实现比软件实现运行效率高,但成本也非常高。使用 Nginx 实现负载均衡,能大大节约企业的成本。

1.Nginx反向代理实现

# vim /usr/local/nginx/conf/nginx.conf                                  //编辑配置文件

访问 www.example.com 跳转到 Tomcat 的 portal 项目的配置(Url 中不会有 portal 这个项目名):

server {    listen 80;    server_name www.example.com example.com;    location / { proxy_pass http://localhost:8080/portal/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

如果 portal 项目中存在静态资源不能访问的情况,添加额外的配置即可:

server {    listen 80;    server_name www.example.com example.com;    location / { proxy_pass http://localhost:8080/portal/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /portal/ { proxy_pass http://localhost:8080/portal/; } }

下面这是一个 Nginx 重定向跳转的配置,访问 www.example.com 被重定向到 (Url 中包含 portal 这个项目名) :

server {    listen 80;    server_name www.example.com;    location = / { rewrite ^(.*)$ http://www.example.com/portal/ redirect; } location / { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

2.Nginx负载均衡实现

# vim /usr/local/nginx/conf/nginx.conf

编辑配置文件:

http{    #配置负载均衡    #主要是用于设置一组可以在proxy_pass和fastcgi_pass指令中使用额代理服务器,默认负载均衡方式为轮询    upstream tomcat_client {        #设置同一个cookie的两次/多次请求,请求的是同一台服务器        ip_hash;        #weight权重,默认1,权重越大访问概率越大,backup备用服务器,服务器全部崩溃后启动 server 192.168.2.21:8080 weight=5; server 192.168.2.22:8080 weight=5; server 192.168.2.23:8080 weight=5 backup; } #指定服务器的名称和参数 server { listen 80; server_name www.example.com; location / { proxy_pass http://tomcat_client; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }

 

保存退出配置文件,如果存在端口占用,使用 killall -9 nginx 命令 Kill 掉 Nginx 的程序。至此负载均衡配置完毕。

你可能感兴趣的文章
今年以来硅晶圆涨幅约达40%
查看>>
构建智能的新一代网络——专访Mellanox市场部副总裁 Gilad Shainer
查看>>
《数字视频和高清:算法和接口》一导读
查看>>
《中国人工智能学会通讯》——6.6 实体消歧技术研究
查看>>
如何在Windows查看端口占用情况及查杀进程
查看>>
云存储应用Upthere获7700万美元股权债务融资
查看>>
国家互联网应急中心何世平博士主题演讲
查看>>
洗茶,你误会了多少年?
查看>>
移动大数据“后市场”受青睐 亟需数据深度学习人才
查看>>
贵阳高新区力争打造“千亿级大数据园区”
查看>>
安防众筹不止于卖产品 思维拓展刺激消费
查看>>
OpenSSH曝高危漏洞 会泄露私钥
查看>>
艾特网能获2016APCA用户满意品牌大奖
查看>>
《CCNP TSHOOT 300-135学习指南》——第2章 结构化故障检测与排除进程
查看>>
《Java EE 7精粹》—— 2.5 非阻塞I/O
查看>>
《Python数据科学实践指南》一2.2 字符串
查看>>
《R数据可视化手册》——1.1 安装包
查看>>
《iOS创意程序设计家》——导读
查看>>
spring-aop
查看>>
android RecycleView Adapter简单封装
查看>>