使用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) ...
随机推荐
- html5+css3学习笔记音频和视频
格式 IE Firefox Opera Chrome Safari Ogg No 3.5+ 10.5+ 5.0+ No MPEG 4 9.0+ No No 5.0+ 3.0+ WebM No 4.0+ ...
- 关于oracle数据库(1)
兼容性的设置 cmd.exe是微软Windows系统的命令行程序,类似于微软的DOS操作系统.cmd.exe是一个16/32位的命令行程序,运行在Windows NT/2000/XP/2003/Vis ...
- JPA基本注解介绍
一.@Entity •@Entity 标注用于实体类声明语句之前, 指出该Java 类为实体类,将映射到指定的数据库表. 如声明一个实体类 Customer,它将映射到数据库中的 customer 表 ...
- Python Cookbook - 1 - 数据结构和算法
1 序列解压:通过*来通配 *a, b = somelist, first, *mid, last = somelist, a, *b = somelist 2 使用双向队列: from col ...
- ZUFE OJ 2289 God Wang II
Description 这个世界太无聊了,于是God Wang想出了新的运算符号$,对于两个数x,y来说x$y的值等于x和y各个位置上的数字乘积之和,没有的位按0来算 比如说123$321=1*3+2 ...
- mave 安装本地jar包到maven库
Maven 安装 JAR 包的命令是: mvn install:install-file -Dfile=本地jar包的位置 -DgroupId=groupId -DartifactId=artifac ...
- Windows 路径问题
Windows路径是我们经常使用的东西,它看似简单,实际上隐含许多细节,这些都是在平常的使用过程中注意不到的.下面让我们来看看各种各样的Windows路径. 提起路径,我们都会想到" ...
- 第四十节,requests模拟浏览器请求模块初识
requests模拟浏览器请求模块初识 requests模拟浏览器请求模块属于第三方模块 源码下载地址http://docs.python-requests.org/zh_CN/latest/use ...
- Django: 之用户注册、缓存和静态网页
Django 用户注册系统 Django 的源码中已经有登录,退出,重设密码等相关的视图函数,在下面这个app中 django.contrib.auth 可以点击对应的版本查看相关源代码:1.9 1 ...
- 循环语句 ,for语句
for语句主要用来反复执行某段代码: for(初始条件:循环条件:状态改变) { 循环体 } 问题类型: 1.穷举(例:0-100以内与7有关的数) <body><input typ ...