使用nginx简单实现负载均衡
只是简单使用nginx玩玩而已,知道能这么用,但是在实际项目中并没有实践过,在项目不大的时候用不到,但是对于理解负载均衡来说还是可以的。
利用虚拟机安装了三个centOS系统,然后顺便装了环境。
这里顺便说一下,不需要转三次系统,装一个系统,配置环境完成之后,另外两个可以使用虚拟机的克隆功能直接克隆即可,配置是完全相同的。
首先是服务器配置及当前IP地址,注意一点,为了测试方便,我把所有的防火墙都直接关闭了,但是实际中限制端口号,而不要直接关闭
服务器A:IP:192.168.0.134
服务器B:IP:192.168.0.132
服务器C:IP:192.168.0.133
主人本机使用的是Windows系统,其他系统自己看着办,改一下本地的host,这样浏览器输入这个域名就能解析到固定你输入的IP了
在C:\Windows\System32\drivers\etc目录下,修改host文件
需要注意的是,host在当前目录下面用户是没有修改权限的,所以你需要先复制出来到桌面,然后用记事本打开修改,然后复制回去替换。
在文件末尾加上192.168.0.134 xx.com
然后在cmd模式下ping xx.com 看是否能ping通,如果可以证明域名没有问题了。
正在 Ping xx.com [192.168.0.134] 具有 32 字节的数据:
来自 192.168.0.134 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.134 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.0.134 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.0.134 的回复: 字节=32 时间<1ms TTL=64
这个域名也只能在你本地起作用,实验就简单点好了。
下载nginx
http://nginx.org/en/download.html
选择了稳定版本
然后解压到A服务器的你喜欢的目录下面
首先是在A服务器上配置nginx,软件的安装我都不介绍了,在最后给出安装说明的地址,然后根据步骤一步步来就好了。
修改nginx配置中的
在server中修改以下位置
location / {
proxy_pass http://xx.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
在http中加入
#--------------------------------------------------------
upstream xx.com {
server 192.168.0.132:8080;
server 192.168.0.133:8080;
server 127.0.0.1:8080;
}
#--------------------------------------------------------
我在A服务器上装了tomcat。默认端口是8080。
其他两台就不装了,简单的配置了一个默认的页面
在其他两台服务器上面nginx配置
server{
listen 8080;
server_name xx.com;
index index.html;
root /root;
}
server {
listen 80;
server_name xx.com;
修改了这两个配置之后,三台服务器全部重新启动nginx
然后在浏览器中输入xx.com
然后刷新页面,就会出现三台服务器不同的页面了。
也就是说,当我们的项目的域名被访问的时候会根据实际情况负载均衡至3台服务器。
我觉得实际项目中,A服务器还是不要作为项目服务器的一部分,不用tomcat部署项目,
为什么呢,虽然这样服务器有点浪费,但是,如果部署了项目的话,这样A服务器就有可能出现宕机,导致BC服务器均不能被访问。
如果没有部署服务的话,那么即使B或C任意一台服务器宕机,A服务器会自动均衡到另一台服务器上面。
但是一些静态资源的获取可以放在A上面,这样可以减轻后面服务器的压力,同时提高A的利用率。
下面给出安装软件的步骤,很多网站上都写的很好。我就不多说了。
负载均衡大致流程转载自:http://www.php100.com/html/program/nginx/2013/0905/5525.html
nginx配置文件详解转载自:http://blog.csdn.net/shimiso/article/details/8690897
nginx安装流程转载自:http://www.cnblogs.com/skynet/p/4146083.html(其实前面的3个不装在测试项目中也是可以运行nginx的,可能是我之前装过一些软件的原因)
使用nginx简单实现负载均衡的更多相关文章
- Nginx 简单的负载均衡配置示例(转载)
原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...
- Nginx 简单的负载均衡配置示例
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html 在此记录下Nginx服务器nginx.conf的配置文件说明, ...
- Nginx 简单的负载均衡配置演示样例
近期在做开放查询应用的时候,因为数据两天特别多,两千多万条呢,用户訪问需求也比較大,所以就用nginx做了 负载均衡,以下是改动之后的相关内容. http://www.cnblogs.com/xiao ...
- tomcat+nginx简单实现负载均衡
1.环境准备 在前面的博客中我已经安装好nginx和一台tomcat了.现在就在加一台tomcat tomcat1: /apps/tomcat/tomcat1/apache-tomcat-7.0.6 ...
- Nginx简单的负载均衡(一)
Nginx是一个高性能的http和反向代理服务器,官方测试nginx能够支支撑5万并发链接,并且cpu.内存等资源消耗却非常低,运行非常稳定. 1.应用场景 1.http服务器.Nginx是一个htt ...
- Nginx简单的负载均衡入门
nginx是用来管理tomcat的,只管理tomcat,并没有管理具体tomcat里面的项目,这里实现了简单的nginx管理两个tomcat的配置,注意upstream节点应该配置到service节点 ...
- Docker+nginx+tomcat7配置简单的负载均衡
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/4995513.html 本文介绍在Docker上配置简单的负载均衡,宿主机为Ubuntu 14.04.2 ...
- Windows下nginx+tomcat实现简单的负载均衡
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...
- nginx Win下实现简单的负载均衡(2)站点共享Session
快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...
随机推荐
- RegOpenKey(注册表定位器) 1.5 中文免费绿色版
软件名称: RegOpenKey(注册表定位器) 1.5 中文免费绿色版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP / Wi ...
- PHP ServerPush (推送) 技术
用来代替ajax的请求 转自:http://blog.163.com/bailin_li/blog/static/17449017920124811524364/ 需求: 我想做个会员站内通知的功能. ...
- 协同过滤(CF)算法
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
- iosOC不可变数组遍历
NSArray * array = @[@"1",@"2",@"3"]; NSLog(@"%@",array); //1 ...
- js如何在指定页面跳转到另一指定页面
要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html)<script language="javascri ...
- Android 面试题(转)
转自:http://www.jobui.com/mianshiti/it/android/2682/ 1. Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念DVM指da ...
- php mysql数据库 分页与搜索
<?php/** * Created by coder meng. * User: coder meng * Date: 2016/8/29 10:27 */header("Conte ...
- JavaScript高级程序设计:第六章
第六章 面向对象的程序设计 一.理解对象 1.属性类型: ECMAScript中有两种属性:数据属性和访问器属性. (1)数据属性: 数据属性包含一个数据值的位置.在这个位置可以读取和写入值.数据属性 ...
- hdu_5701_中位数计数
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5701 题意:不解释 题解:n^2的方法:sum[j]表示当前枚举的数到第j个数形成的区间里当前数偏离中 ...
- 依赖注入容器Autofac与MVC集成
Autofac是应用于.Net平台的依赖注入(DI,Dependency Injection)容器,具有贴近.契合C#语言的特点.随着应用系统的日益庞大与复杂,使用Autofac容器来管理组件之间的关 ...