nginx的反向代理及负载均衡
来源:互联网 发布:国际软件学院合并 编辑:程序博客网 时间:2024/05/22 03:29
1.1 Nginx实现虚拟机
可以实现在同一台服务运行多个网站,而且网站之间互相不干扰。
同一个服务器可能有一个ip,网站需要使用80端口。网站的域名不同。
区分不同的网站有三种方式:
1、ip区分
2、端口区分
3、域名区分
1.1.1 Ip区分虚拟主机
1、将/etc/sysconfig/network-scripts/ifcfg-eth0文件复制一份,命名为ifcfg-eth0:1
修改其中内容:
DEVICE=eth0:1
IPADDR=192.168.25.103
其他项不用修改
2、重启系统
1.1.2 配置nginx基于ip地址的虚拟主机
1.1.1.2 Nginx的配置文件
listen 80;
server_name 192.168.238.129;
root html;
index index.html index.htm;
}
listen 80;
server_name 192.168.238.100;
root html-100;
index index.html index.htm;
}
1.1.1.3 基于ip的虚拟主机配置
server {
listen 81;
server {
listen 82;
1.1.3 基于域名的虚拟主机
修改window的hosts文件:(C:\Windows\System32\drivers\etc)
修改虚拟主机的配置
server {
listen 80;
server_name www.liyang.com;
location / {
root html-www;
index index.html index.htm;
}
网页html-www 在nginx 目录下
修改配置文件后,需要nginx重新加载配置文件。
2.1.1 反向代理
2.1 使用nginx实现反向代理
Nginx只做请求的转发,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后面的服务器,决定把请求转发给谁。
2.2.1 安装tomcat
在一个虚拟机上创建两个tomcat实例,模拟多个服务器。
2.2.2 需求
通过访问不同的域名访问运行在不同端口的tomcat
2.2.3 Nginx的配置
upstream tomcatserver1 {
server 192.168.238.129:8080;
server 192.168.238.129:8081; // 负载均衡 访问tomcatserver1 1次访问进入8080 另外一次进入8081
}
upstream tomcatserver2 {
server 192.168.238.129:8081;
}
server {
listen 80;
server_name 8080.www.liyang.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcatserver1; 转发
index index.html index.htm;
}
}
server {
listen 80;
server_name 8081.www.liyang.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcatserver2;
index index.html index.htm;
}
}
如果在同一个域名下有多台服务器提供服务,此时需要nginx负载均衡。
3.1 什么是负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
3.2 需求
nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至 tomcat服务器。
nginx负载均衡服务器:192.168.238.129
tomcat1服务器:192.168.238.129:8080
tomcat2服务器:192.168.238.129:8081
upstream tomcatserver1 {
server 192.168.238.129:8080;
server 192.168.238.129:8081;
}
节点说明:
在http节点里添加:
#定义负载均衡设备的 Ip及设备状态
upstream myServer {
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要使用负载的Server节点下添加
proxy_pass http://myServer;
upstream 每个设备的状态:
down 表示单前的server暂时不参与负载
weight 默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。1 Nginx的高可用
解决高可用的方案就是添加冗余。
nginx的高可用使用keepalived+nginx实现keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到- Nginx的反向代理及负载均衡
- nginx的反向代理及负载均衡
- nginx 反向代理及负载均衡
- nginx负载均衡实践及反向代理
- Nginx反向代理及负载均衡
- nginx反向代理及负载均衡
- nginx实现反向代理及负载均衡
- 配置nginx的反向代理及负载均衡
- Nginx的反向代理 和 负载均衡
- Nginx的反向代理与负载均衡
- Nginx 的反向代理与负载均衡
- Nginx的负载均衡和反向代理
- Nginx的反向代理和负载均衡
- Nginx实现负载均衡的反向代理
- Nginx的反向代理和负载均衡
- nginx的反向代理与负载均衡
- nginx的反向代理和负载均衡
- Nginx的反向代理与负载均衡
- Pintos安装
- ppt演示,怎么变看备注,变演示,而投影的屏幕上不显示备注?
- 网页适配
- 通过Java Api与HBase交互(转)
- kubernetes集群配置https证书
- nginx的反向代理及负载均衡
- 动态规划—— 数塔
- hdu1009
- Android 开发中遇到的问题-----个人向
- 添加可动态变化的输入框,点击添加增加一行,点击删除删除一行
- QT中窗口刷新事件的学习总结
- Linux TC(Traffic Control)框架原理解析
- 关于手动设置ip和自动获取ip的java小程序
- Git命令汇总(上)