Nginx + IIS实现负载均衡 Session多站点共享
日子过得太索然无味了,研究了一下,所谓的负载均衡(主要是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 + Web前端(Spring MVC)——负载均衡(二)
nginx 负载均衡,多站点共享Session
Nginx + IIS实现负载均衡 Session多站点共享的更多相关文章
- nginx 负载均衡,多站点共享Session
原文:nginx 负载均衡,多站点共享Session nginx 负载均衡,多站点共享Session 多站点共享Session常见的作法有: 使用.net自动的状态服务(Asp.net State S ...
- asp.net:如何实现负载均衡方案讨论 (nginx+iis实现负载均衡)
5台阿里云服务器,ip地址分别为 ip地址 名字简称 操作系统 iis服务器 cpu 内存DDR3 机械硬盘 11 ...
- nginx+iis实现负载均衡
最近在研究分布式系统架构方面的知识,包括负载均衡,数据库读写分离,分布式缓存redis等.本篇先从负载均衡服务架构入手,关于负载均衡百度百科的定义如下:负载均衡,英文名称为Load Balance,其 ...
- 【转】nginx+iis实现负载均衡
最近在研究分布式系统架构方面的知识,包括负载均衡,数据库读写分离,分布式缓存redis等.本篇先从负载均衡服务架构入手,关于负载均衡百度百科的定义如下:负载均衡,英文名称为Load Balance,其 ...
- Nginx+IIS部署负载均衡的常见问题
windows 下配置 Nginx 常见问题 一. Nginx配置 找到 conf 目录里的 nginx.conf 文件,配置Nginx #user nobody; #指定nginx进程数 work ...
- (转)nginx+iis实现负载均衡
最近在研究分布式系统架构方面的知识,包括负载均衡,数据库读写分离,分布式缓存redis等.本篇先从负载均衡服务架构入手,关于负载均衡百度百科的定义如下:负载均衡,英文名称为Load Balance,其 ...
- IIS+nginx反向代理 负载均衡
本文没有过多的讲述,只讲述重点地方.由这两个转自的文章进行中和 1.nginx+iis实现负载均衡(这篇文章主要是有第2篇文章的工具) 2.nginx+iis使用(这篇文章讲得很详细,配置文件直接复制 ...
- 负载均衡session共享问题
负载均衡+session共享(memcached-session-manager实现) http://www.cnblogs.com/youzhibing/p/5094460.html http:// ...
- windows使用nginx+memcached实现负载均衡和session或者缓存共享
windows使用nginx+memcached实现负载均衡和session或者缓存共享 两台server server1:115.29.186.215 windows2008 64位操作系统 ser ...
随机推荐
- android view事件分发机制
首先我们先写个简单的例子来测试View的事件转发的流程~ 1.案例 为了更好的研究View的事件转发,我们自定以一个MyButton继承Button,然后把跟事件传播有关的方法进行复写,然后添加上日志 ...
- Android中三种计时器Timer、CountDownTimer、handler.postDelayed的使用
在android开发中,我们常常需要用到计时器,倒计时多少秒后再执行相应的功能,下面我就分别来讲讲这三种常用的计时的方法. 一.CountDownTimer 该类是个抽象类,如果要使用这个类中的方法, ...
- Android Service详解
service作为四大组件值得我们的更多的关注 在Android中,Activity主要负责前台页面的展示,Service主要负责需要长期运行的任务.例如,一个从service播放音乐的音乐播放器,应 ...
- ORACLE EBS常用表及查询语句(最终整理版)
建议去看参考二 参考一: call fnd_global.APPS_INITI ...
- Learn Lua in 15 Minutes
原文地址:http://tylerneylon.com/a/learn-lua/ Learn Lua in 15 Minutes more or less For a more in-depth Lu ...
- CentOS6 上OpenWRT交叉编译
目的不是为了编译固件,而是为了一个是编译可执行文件,放倒op的路由器上跑,另一个目的是安装一些开源软件折腾下(例如ss-lib),需要打包成 .ipk 格式 路由设备信息 erya@ERYA:~$ c ...
- Chapter 2 User Authentication, Authorization, and Security(6):服务器权限授予粒度
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38867489,专题目录:http://blog.csdn.net/dba_huangzj ...
- Ubuntu 16.04 LTS今日发布
Ubuntu 16.04 LTS今日发布 Ubuntu16.04 LTS 发布日期已正式确定为 2016 年 4 月 21 日,代号为 Xenial Xerus.Ubuntu16.04 将是非常受欢迎 ...
- 学习pthreads,管理线程的栈
进程的地址空间分成代码段,静态数据段,堆和栈段.线程栈的位置和大小是从它所属的进程的栈中切分出来的.每个栈必须足够大,以容纳所有对等线程的函数的执行以及它们将会调用的例程链.或许你会问为什么要进行线程 ...
- 学习pthreads,多线程的创建和终止
在多CPU多线程的编程中,通过作者的学习发现,pthreads的运用越来越广泛,它是线程的POSIX标准,定义了创建和操作线程的一整套API.环境的配置见上一篇博文,配置好环境后只需要添加#inclu ...