码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx + IIS实现负载均衡 Session多站点共享

时间:2017-10-24 19:37:25      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:pap   connect   查找   pre   nbsp   blank   ati   xxxxx   nose   

日子过得太索然无味了,研究了一下,所谓的负载均衡(主要是windows服务器IIS下的)。先看看分析图:
技术分享
环境:
linux服务器: centos 6.3
windows服务器: windows server 2012   IIS 8.5
数据库: Sql Server 2008 R2

我在centos 上部署了nginx,做负载均衡,IIS上放了两个站点A,B(这样设计不合理,应该是一台服务器配一个站点,多个应用服务器部署同一个站点,但是我实在是没有多的服务器了,就两,在一个IIS上部署多个站点与多个IIS部署一个站点原理差不多。)对于多站点共享session,我采用的是最简单的微软提供的Session 数据库。
首先部署nginx, 可以参考<<云平台开发架构分析系列8:Nginx服务器初次使用讲解》系列文章部署,随后我们打开VS2010,创建两个web项目,然后放到IIS上,具体部署请看《IIS部署ASP.NET MVC项目
随后我们在windows服务器上的SQL Server 2008上添加ASPStat数据库,打开windows 服务器然后查找aspnet_regsql.exe(Framework64下的)
我们找到aspnet_regsql.exe的路径,然后在cmd 用cd 打开该路径,执行命令:

aspnet_regsql.exe -S . -u sa -p password p

随后创建ASPStat数据库
然后我们在web.config 里面配置:

<sessionState mode="SQLServer" sqlConnectionString="Data Source=xxxxx; User ID=sa; Password=xxxxxxx;"> 
 </sessionState> 
 <machineKey decryption="AES" decryptionKey="869BF3D585F39B25C032E42A51B9C8C6DBA5CAE6EEB6DC48,IsolateApps" validationKey="6080AA874E125C595E4A5986A754ABC67BC5D10DC39CCE2BBE0A1AF5B61D3E03C6BD5C97A812F6E160F37337EEEE2C27619A3B18C84A26D5BB417CA8969EF9F3,IsolateApps"/>

配置完之后,我们就能在session 数据库里面看到session信息了。
下面我们测试下,首先我在360浏览器里面访问IIS上的站点:

    技术分享

    技术分享

session数据库中的截图:
技术分享
火狐浏览器的测试:

    技术分享

    技术分享

session数据库中的截图
技术分享
的确实现了多站点的session共享,但是在实际项目中这种设计性能不行,还是建议redis, memcached来存储session比较好,而且.net 的第三方session接口做的也不错。

参考:

nginx配合IIS实现简单负载均衡

Nginx + IIS + Web前端(Spring MVC)——负载均衡(二)

nginx 负载均衡,多站点共享Session

Asp.net 多服务器 Session共享

Nginx + IIS实现负载均衡 Session多站点共享

标签:pap   connect   查找   pre   nbsp   blank   ati   xxxxx   nose   

原文地址:http://www.cnblogs.com/zhiyong-ITNote/p/7724980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!