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 验证错误模板
<Window x:Class="BindingExam.MainWindow" xmlns="http://schemas.microsoft.co ...
- SqlServer & Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC)
原文:SqlServer & Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC) 在可更新订阅中,在订阅设置更新方法,将 "排队更新" 设置为 " ...
- LINQ查询表达式---------where子句
LINQ查询表达式---------where子句 where 子句用在查询表达式中,用于指定将在查询表达式中返回数据源中的哪些元素. 它将一个布尔条件(“谓词”)应用于每个源元素(由范围变量引用), ...
- Android零基础入门第24节:自定义View简单使用
原文:Android零基础入门第24节:自定义View简单使用 当我们开发中遇到Android原生的组件无法满足需求时,这时候就应该自定义View来满足这些特殊的组件需求. 一.概述 很多初入Andr ...
- Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航
原文:Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航 经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Ge ...
- LINQ学习笔记(一)
LINQ,语言集成查询(Language Integrated Query)是一组用于C#和Visual Basic语言的扩展. 它允许编写C#或Visual Basic代码以查询数据库相同的方法操作 ...
- 使用网盘(Dropbox/Google Drive)同步Git仓库
还在使用老掉牙的U盘搬运代码(文件)的方式,从一台机器上复制后,粘贴到另一台机器上?太Out了.使用Github 倒是一个非常不错的替代方法.但无论是基于什么理由都有可能不想把代码公开(毕竟Githu ...
- 关于联合体union的详细解释
1.概述 联合体union的定义方式与结构体一样,但是二者有根本区别. 在结构中各成员有各自的内存空间,一个结构变量的总长度是各成员长度之和.而在“联合”中,各成员共享一段内存空间,一个联合变量的长度 ...
- getch(),getche(),getchar()的区别
先说基本区别. (1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符.其调用格式为: getch(); getche(); 两者的区别是 ...
- ubuntu 14.04搭建tensorflow-gpu开发环境
一.安装nvidia显卡驱动 去navidia官网查看最新的驱动版本号:navidia官网:http://www.geforce.cn/drivers 找到显卡对应的驱动下载,例如下载的驱动为 NVI ...