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

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

1.单机容量问题,水平扩展: 先不考虑数据库和服务器共享一台机子的问题,它的单机也是有容量问题的,因此需要系统有一定的水平扩展能力,就依托于niginx的反向代理做一个

             收口的操作。 因为对外的域名是一致的只有一个miaoshaserver.com , 如何对同一个域名 可以代理到多台applicationserver的服务器上呢 

2.niginx的反向代理 :      它可以代理我们后端的tomcat集群 ,以一个统一域名的方式暴露出去,供用户调用。

3.负载均衡配置:  最后我们可以依靠niginx的负载均衡配置,论询等等负载均衡的策略,使得应用可以水平扩展。

 

解决方案:1.mysql数据库开放远端连接

        2.服务端对称水平部署

        3.验证访问

 

1.一台nginx服务器,一台数据库,另外两台server服务器。

2利用scp将程序cp到另外两台服务器上,本台机子做数据库

 

scp -r /var/www  root@私有网址内网访问速度比较快:/var/

 

3,到服务器启动程序,但是要注意,配置数据库连接,在application.properties中加入一行数据库配置:配置完记得./depoly.sh &

利用telnet来ping一下通不通,若没有安转telnet就yum install telnet安装;但是telnet会失败,应该要回到数据库机子上,打开数据库,打开数据库里自带的mysql,

show databases;use mysql;show tables;select host, user,password from user; grant all privileges on *.* to root@'%' identifided by '密码'; //给所有的database和table都授权,host为%,通过密码就可以访问 flush privileges;

 

 

4.这台服务器还没有安转java版本

cd /var/wwwchmod -R 777 jdk-8u(就是传过来的java包,省略了)rpm -ivh jak-8u(省略了)

5.最后执行./deploy.sh &    启动miaosha服务,可以利用tail -f nohub.out来查看启动日志

6.Nginx:

  1,使用nginx做web服务器    :将css。html等静态资源放上去暴露出来供客户端使用,即静态的web服务器

  2,使用nginx做动静分离服务器  :在做反向代理服务之后,我们可以将 静态的请求依旧路由在本地的html文件中, 直接以静态请求的方式返回给前端,之后依赖第三点

  3,使用nginx做反向代理服务器  :将动态请求反向代理到后端,并且以ajax请求的方式可以返回给前端一些固定的json参数来完成动静分离的使用

 

 

上图解析:H5的前端ajax会访问miaoshaserver,nginx通过反向代理到miaosha1或者miaosha2服务器上,然后通过jdbc访问数据库,H5的static静态资源也会访问nginx来获取静态资源,nginx从本地磁盘获取,一般企业级的都会使用NAS网盘来挂载到本地磁盘,因为阿里的服务器一般都有上限的。那么nginx如何来判断何时访问本地磁盘,何时做反向代理呢?一般都是通过请求的地址是不是在miaoshaserver/resources下,如果是就访问本地磁盘,如果不是就做反向代理。

 

6.首先在前端资源页面新键一个gethost.js,将锁头页面中都引入gethost.js   然后将所有的localhost:8080都替换成"+g_host+"

var g_host="localhost:8090";

7nginx:

  我们熟知的apache是c++编写的so文件,可以任意下载和卸载,只需要重启一下服务即可,但是nginx很遗憾,没有集成这一点,他必须基于编译的时候指定我需要将nginx模块编译进我们的nginx中,尤其是nginx对于lua脚本的支持,编译时候需要指定很多lua的参数设定,这样对于开发来说是非常困难的,而且在做商品详情页性能优化的时候,需要lua提供的redis,memcahe,以及本地的内存缓存支持的时候,他的编译过程是非常痛苦的,强烈推荐大家使用OpenResty框架。集成了反向代理,lua的支持 ,redis的支持等等,因此只要将OpenResty打包下载下来,并且编译之后,就可以使用

 

转载于:https://www.cnblogs.com/gaoqiaoliangjie/p/11048994.html

你可能感兴趣的文章
Four types of inner class
查看>>
Jenkins持续集成与部署
查看>>
数据库操作之——索引
查看>>
Java-终止应用程序
查看>>
实验四
查看>>
datatable的序列化和反序列化 webservice
查看>>
最小二乘法
查看>>
[算法练习] UVA-10010-Where's Waldorf?
查看>>
C# 开发Modbus Rtu客户端 modbus测试Demo,Modbus 串口通信 , 虚拟MODBUS-RTU测试
查看>>
Semi-prime H-numbers
查看>>
CodeForces 937C Save Energy! 水题
查看>>
Hadoop集群(第10期)_MySQL关系数据库
查看>>
G:首页调用“图片视频”的分类和文章(难点)
查看>>
Jmeter+Ant+Jenkins接口自动化测试(一)_环境部署
查看>>
WEB-INF下的jsp怎么访问
查看>>
AOP和IOC的实现原理(用到的设计模式)
查看>>
Windows Phone Silverlight 8.1 apps
查看>>
Creating popup windows in XBAP applications
查看>>
使用CentOS6.8搭建Hadoop集群
查看>>
关于如何在Tomcat中使用JavaBean
查看>>