用Nginx+Redis实现session共享的均衡365bet最新官网备用网站_365bet盘口编辑器_澳门365bet下载

时间:16-12-30 来源: 作者: 点击:

集群搭建

首先在vmware12中安装3台debain,命名为debian1,debian2,debian3。一路默认就好(其实并不好,后面会说)。

vmware有个问题,一旦窗口获得焦点,就自动关闭了小键盘,导致我设置root密码的时候输入为空(它也没提示)。
后来我想用su命令才发现密码错误,输入空密码一样错误,就只有找回密码了。

对于debian来说,这样改:在grub界面光标指向待启动的系统,然后按 e 键进行编辑,如图:

在 quiet 后面加个1(注意要有空格),按F10,你就可以以root身份进入命令行界面的。

这时候就用passwd修改密码,然后reboot就可以了。

终于打开了,准备试试网络,发现无法访问外网,但是windows主机可以,如果一路默认的话不应该出现问题,最有可能就是杀毒软件把vmware的服务进程给关了(装了360...)。在windows中启动Vmware的DHCP服务

然后虚拟机要reboot一下来获取ip。好了,现在虚拟机可以访问外网了。

安装nginx,才发现根本连不上,一看才发现是老美的源,应该是一路默认惹的祸啊,修改为科大源(我为母校自豪,哈哈)。

vi?/etc/apt/source.list

修改为:

deb wheezy main non-free contrib deb wheezy-proposed-updates main non-free contrib deb-src wheezy main non-free contrib deb-src wheezy-proposed-updates main non-free contrib deb wheezy/updates main non-free contrib deb-src wheezy/updates main non-free contrib

然后执行这个命令来更新:?apt-get update

安装:?apt-get install nginx

启动:?/etc/init.d/nginx start

随便用一个虚拟机开启一个浏览器打开localhost,成功启动,如图:

vi用不惯安装vim:?apt-get install vim?报错:

The following packages have unmet dependencies: vim : -7 is to be installed E: Unable to correct problems, you have held broken packages.

可见冲突了,解决方法:

先执行?apt-get remove vim-common?卸载vim-common

再进行安装vim,执行?apt-get install vim

找找nginx的根目录,我们打开配置文件(和Apache一样,配置文件模块化的,不是一个单独的nginx.conf)看一看

vim /etc/nginx/sites-enabled/default

中间有一行

root /usr/share/nginx/www;

这就是根目录啦

修改index.html来区分三台主机

用ipconfig 分别获得 ip 地址,在windows中访问

debian1 debian2 debian3 基础尝试

先来一个小例子,以便对均衡365bet最新官网备用网站_365bet盘口编辑器_澳门365bet下载产生一个直观的感受吧。

我们把debian1作为主服务器承担请求分发的任务,即外部访问的是debian1,然后debain1把请求发送给debian2或者debain3,如下图:

在debian1中修改配置文件 :vim /etc/nginx/nginx.conf?
在http配置项中加入如下

upstream site { server :80; server :80; } server{ listen 80; location / { proxy_pass http://site; } }

这是选择的轮询的模式
保存重启nginx。

现在在windows中访问debian1,。多次刷新 可见如下两图依次出现:

说明发送给 debian1 的请求的确是均匀分配到 debian2和debian3了,亦即轮询。

session共享

上面的例子可以说简单到没有什么实用价值,大型网站一般不可能是纯静态的,一般都涉及到用户登录的问题,那么就涉及到session的问题了。你想用户在A登陆了,A记住了用户的登录状态,可是下一次用户请求被分配到B去了怎么办?显然不可能让用户再登陆一次。所以要实现session共享。一般有几个解决办法:

  • iphash,把特定ip发送给特定主机,就不存在session这个问题了,因为1个用户对应1台主机。但是某时刻当来自某个IP地址的请求特别多,那么将导致某台365bet最新官网备用网站_365bet盘口编辑器_澳门365bet下载服务器的压力可能非常大,而其他365bet最新官网备用网站_365bet盘口编辑器_澳门365bet下载服务器却空闲的不均衡情况,这就违背了我们365bet最新官网备用网站_365bet盘口编辑器_澳门365bet下载均衡的初衷。

  • 声明:本文由(Nginx运维与架构)版权所有,禁止转载,文章链接:http://www.nd9p.com/9284.html