一、Nginx + Apache 通过反向代理实现负载均衡
来源:互联网 发布:护盾数据恢复软件下载 编辑:程序博客网 时间:2024/06/05 17:19
一、Nginx简单介绍
Nginx是一种服务器软件,也是一种高性能的http和反向代理服务器,同时还是一个代理邮件服务器。也就是说,我们在Nginx上可以发布网站,可以实现负载均衡(提高应答效率,避免服务器崩溃),还可以作为邮件服务器实现收发邮件等功能。而最常见的就是使用Nginx实现负载均衡。
Nginx反向代理的过程:
用户A始终认为它访问的是原始服务器B而不是代理服务器Z,但实用际上反向代理服务器接受用户A的应答,从原始资源服务器B中取得用户A的需求资源,然后发送给用户A。由于防火墙的作用,只允许代理服务器Z访问原始资源服务器B。尽管在这个虚拟的环境下,防火墙和反向代理的共同作用保护了原始资源服务器B,但用户A并不知情。
Nginx负载均衡的过程(会自动选择压力较小的服务器进行访问):
Nginx的应用
1、到官网下载Windows版本,下载地址:http://nginx.org/en/download.html
2、解压到磁盘任一目录
3、修改配置文件:具体参考备注。
4、启动服务:
直接运行nginx.exe,缺点控制台窗口关闭,服务关闭。
守护进程的方式启动:start nginx.exe
停止服务:nginx -s stop
重新加载配置:nginx -s reload
最简单的配置实例(conf/nginx.conf):
worker_processes 1; #工作进程数
events {
worker_connections 1024; #设置单个进程最大连接数
}
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream;#默认文件类型
sendfile on;
keepalive_timeout 65; #长连接超时时间,单位是秒
#主要是用于设置一组可以在proxy_pass和fastcgi_pass指令中使用额代理服务器,默认负载均衡方式为轮询
upstream cloudtest.com {
#weight权重,默认1,权重越大访问概率越大,backup备用服务器,服务器全部崩溃后启动
server 127.0.0.1:8081 weight=2;
#server 127.0.0.1:8082 backup;
server 127.0.0.1:8080 weight=3;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://cloudtest.com;
proxy_redirect default;
}
}
二、Tomcat的准备工作
首先,由于我是在一台机器用Nginx + Tomcat,所以我需要修改tomcat配置,使Windows可以运行多台tomcat。
只需要修改三个端口号(还未被使用的端口号)就可以了:
<Server port="8007" shutdown="SHUTDOWN"></Server>
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
三、运行结果
1、修改上面两个Tomcat的默认页面(为了区分下面到底访问的是那一台Tomcat,随便改一下即可)
2、启动自己配置好的Tomcat
3、切换到自己Nginx解压目录:start nginx
结果如下:
第一次访问,发现访问的是Tomcat1上的程序:
然后刷新几次,会交替访问Tomcat2和Tomcat1的程序:
四、总结
谁能想到实现一个高性能的负载均衡集群会如此简单。Nginx的功能如此强大,配置却如此简单,我们还有什么理由拒绝它呢?这比我们动不动就十多万至几十万人民币的F5 BIG-IP、NetScaler等硬件负载均衡交换机廉价了不知多少。此外,大家别忘了Nginx不仅仅是一个反向代理服务器,它本身也可以托管网站,作为Web服务器,进行Http服务处理。
- 一、Nginx + Apache 通过反向代理实现负载均衡
- (Nginx+Apache)实现反向代理与负载均衡
- (Nginx+Apache)实现反向代理与负载均衡
- (Nginx+Apache)实现反向代理与负载均衡
- (Nginx+Apache)实现反向代理与负载均衡
- 关于Apache通过反向代理实现负载均衡
- 反向代理概念以及apache,nginx配置反向代理实现负载均衡方法
- Nginx实现反向代理和负载均衡
- nginx反向代理实现http负载均衡
- 使用Nginx反向代理实现负载均衡
- nginx做反向代理实现负载均衡
- nginx反向代理tomcat实现负载均衡
- Nginx反向代理实现负载均衡总结
- Nginx反向代理实现均衡负载
- Nginx反向代理实现均衡负载
- Nginx实现负载均衡和反向代理
- Nginx实现负载均衡的反向代理
- Nginx实现反向代理负载均衡
- java.lang.OutOfMemoryError:GC overhead limit exceeded
- java实现web的table导出到excel的3种方法分析
- Linux永久修改系统时间
- 固定渲染管线与可编程渲染管线
- FPGA模块划分的技巧(Design Pertitioning)
- 一、Nginx + Apache 通过反向代理实现负载均衡
- gets、scanf
- 位运算实现整数的加减乘数运算
- 1199: 英雄无敌3(2)
- FileUitls
- HDU 5933 && 2016CCPC杭州 A: ArcSoft's Office Rearrangement
- 深度学习caffe实战验证码识别
- Qt学习--- QFileDialog::getOpenFileName()的使用
- //标号 与循环中的break 连用: 如: break OUT;