Nginx代理和负载均衡实验
一、构建两个tomcat容器并启动
[root@localhost bin]# ps -ef|grep tomcat
root : pts/ :: /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /usr/local/tomcat-/bin/bootstrap.jar:/usr/local/tomcat-/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat- -Dcatalina.home=/usr/local/tomcat- -Djava.io.tmpdir=/usr/local/tomcat-/temp org.apache.catalina.startup.Bootstrap start
root : pts/ :: /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize= -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK= -Dignore.endorsed.dirs= -classpath /usr/local/tomcat-/bin/bootstrap.jar:/usr/local/tomcat-/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat- -Dcatalina.home=/usr/local/tomcat- -Djava.io.tmpdir=/usr/local/tomcat-/temp org.apache.catalina.startup.Bootstrap start
二、修改两个容器的web首页,并测试两个容器是否正常


三、启动Nginx并查看进程
[root@www ~]# /usr/local/nginx/sbin/./nginx
[root@www ~]# ps -ef|grep nginx
root 5354 1 0 13:00 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/./nginx
nobody 5355 5354 0 13:00 ? 00:00:00 nginx: worker process
四、开始实验:
Nginx代理服务器IP:192.168.249.132
Tomcat-1 IP:192.168.249.133:8080
Tomcat-2 IP:192.168.249.133:8081
1.配置测试反向代理
1)修改Nginx的配置文件
[root@www conf]# cat nginx.conf|grep -E -v "#|^$"
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://192.168.249.133:8080; #将请求转向后端定义的Tomcat-1上.
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2)重新载入nginx.conf
[root@www conf]# cat nginx.conf|grep -E -v "#|^$"
3)访问Nginx代理服务器,查看是否跳转

2.负载均衡算法测试——轮询算法
1)在nginx.conf的server块里写入upstream配置块,并修改proxy_pass参数
[root@www conf]# cat nginx.conf|grep -E -v "#|^$"
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream nginxtest {
server 192.168.249.133:8080;
server 192.168.249.133:8081;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://nginxtest;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2)重新载入nginx.conf
[root@www conf]# ../sbin/./nginx -s reload
3)多次访问Nginx代理服务器


一直刷新页面会发现随机出现两个网页,这就是nginx默认的负载均衡算法:轮询算法
3.负载均衡权重测试——权重算法
1)在nginx.conf的server块里修改upstream配置块,在其中server参数后添加weight参数
[root@www conf]# cat nginx.conf|grep -E -v "#|^$"
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream nginxtest {
server 192.168.249.133:8080 weight=3;
server 192.168.249.133:8081 weight=2;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://nginxtest;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2)重新载入nginx.conf
[root@www conf]# ../sbin/./nginx -s reload
3)访问nginx代理服务器
发现刷新三次是tomcat-1后,后两次刷新是tomcat-2.
剩下的两种算法持续更新哦……
Nginx代理和负载均衡实验的更多相关文章
- Nginx代理与负载均衡配置与优化
Nginx代理 Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反 ...
- Nginx代理与负载均衡
序言 Nginx的代理功能与负载均衡功能是最常被用到的,关于nginx的基本语法常识与配置已在上篇文章中有说明,这篇就开门见山,先描述一些关于代理功能的配置,再说明负载均衡详细. Nginx代理服务的 ...
- 12.Nginx代理与负载均衡
1.什么是代理? 代为办理 --> 代理 2.Nginx正向代理.反向代理 正向代理: --> 上网 | 路由器替代 反向代理: --> 正向与反向代理的区别: 区别在于形式上服务的 ...
- nginx代理,负载均衡
#代理,如:通过代理实现访问百度(单个机器)创建vim proxy.conf内容如下server { listen 80; server_name www.baidu.com; location / ...
- 使用nginx代理weblogic负载方案
之前一直用apache来做weblogic的前端,由于nginx对静态内容的出色性能,不得不转投nginx.这里就不 再写weblogic的安装了. 安装nginx nginx需要pcre做支持,一般 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
转载:http://freeloda.blog.51cto.com/2033581/1288553 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负 ...
- 通过Nginx+tomcat+redis实现反向代理 、负载均衡及session同步
一直对于负载均衡比较陌生,今天尝试着去了解了一下,并做了一个小的实验,对于这个概念有一些认识,在此做一个简单的总结 什么是负载均衡 负载均衡,英文 名称为Load Balance,指由多台服务器以对称 ...
- Nginx反向代理、负载均衡、页面缓存、URL重写及读写分离详解
大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解
大纲 一.前言 二.环境准备 三.安装与配置Nginx (windows下nginx安装.配置与使用) 四.Nginx之反向代理 五.Nginx之负载均衡 (负载均衡算法:nginx负载算法 up ...
随机推荐
- 向WPF的Grid里面增加控件
在c#中,有时需要通过代码创建面板控件,但是对于面板的操作与之前的控件并不是很直观,因此记下方法,以供后来复习使用: 创建两行两列的表格: 第一种方法: Grid grid = new Grid(); ...
- 将自定义控件加载到RichTextbox并进行交互
先前遇到一个问题,将自定义控件加载到RichTextbox后,无法触发自定义控件的各种事件,最终找到解决办法:设置RichTextbox的IsDocumentEnabled="True&qu ...
- Delphi7下安装TMS component控件
1.启动delphi7.2.File-->Open Project ...打开TMS component 源目录下的“tmsd7.bpg”. 3.在打开的窗口列表中,依次在各选项上点击鼠标右键, ...
- VS2013环境里安装QT插件-“X86”与目标计算机类型“x64”冲突
在VS2013环境里搭载QT老是出现模块计算机类型“X86”与目标计算机类型“x64”冲突 2.解决方案2.1 项目右键,属性>配置管理选择>x64,没有的话新建:2.2 项目右键,属性 ...
- QList, QLinkedList, QVector, QStack, QQueue的区别,以前也没见过QCache,而且可以自定义cost
http://doc.qt.io/qt-4.8/containers.html http://doc.qt.io/qt-4.8/qcache.html
- 零元学Expression Blend 4 - Chapter 17 用实例了解互动控制项「CheckBox」I
原文:零元学Expression Blend 4 - Chapter 17 用实例了解互动控制项「CheckBox」I 本章将教大家如何运用CheckBox做实作上的变化:教你如何把CheckBox变 ...
- windows 2003 无法安装 .net4.0 windows服务
错误: InstallUtil.InstallLog文件中的错误信息: 正在运行事务处理安装. 正在开始安装的“安装”阶段. 查看日志文件的内容以获得 D:\Debug\DataChang.e ...
- 转载 《TypeScript 类型定义 DefinitelyTyped》
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- kubernetes实战篇之部署一个.net core微服务项目
目录 继上一篇kubernetes理论知识完结.本篇主要讲解基于nexus搭建一个docker镜像仓库(当然大家实践过程是不必完全跟着做,也可以搭建harbor仓库或者直接把镜像推送到docker h ...
- 血的教训--如何正确使用线程池submit和execute方法
血的教训之背景:使用线程池对存量数据进行迁移,但是总有一批数据迁移失败,无异常日志打印 凶案起因 听说parallelStream并行流是个好东西,由于日常开发stream串行流的场景比较多,这次 ...