linux 下 nginx的负载均衡
www.site.com
127.0.0.1:8081
127.0.0.1:8082
127.0.0.1:8083
server {
#监听的端口号
listen 8081;
#虚拟主机名
server_name 127.0.0.1;
#编码
charset utf-8;
#访问日志
access_log logs/site1.access.log combined;
location / {
#网站路径
root /data/wwwroot/site1;
#默认首页文件
index index.html index.htm index.php;
}
#在http中加入fastcgi_intercept_errors on;
#配置404信息
error_page 404 /404.html;
#配置500信息
error_page 500 502 503 504 /50x.html;
#缓存图片资源
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 15d;
}
#缓存js、css资源
location ~ .*\.(js|css)$ {
expires 1d;
}
#对php的支持
location ~ \.php$ {
root /data/wwwroot/site1;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
site2.conf和site3.conf的配置同site1.conf,只是端口、日志文件和目录地址需要修改。
<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
我是站点一
</body>
</html>
#注意这里的myserver,可自定义
upstream myserver {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
proxy_pass http://myserver;
修改后的site.conf文件如下:
server {
#监听的端口号
listen 80;
#虚拟主机名
server_name www.site.com;
location / {
#注意这里的myserver要与你upstream中的命名一致
proxy_pass http://myserver;
proxy_redirect off;
#注意,如果是本地反向代理并且端口不区分时(比如:都是用的80端口)
#需要把下面这行注释,不然会产生死循环
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
#后端服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream myserver {
server 127.0.0.1:8081 weight=1;
server 127.0.0.1:8082 weight=2;
server 127.0.0.1:8083 weight=3;
}
upstream myserver {
server 127.0.0.1:8081 weight=1;
server 127.0.0.1:8082 weight=1;
server 127.0.0.1:8083 down;
}
upstream myserver {
server 127.0.0.1:8081 weight=1;
server 127.0.0.1:8082 weight=1;
server 127.0.0.1:8083 backup;
}
backup其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
upstream myserver {
server 127.0.0.1:8081 weight=1;
server 127.0.0.1:8082 weight=1;
server 127.0.0.1:8083 max_fails=3 fail_timeout=30s;
}
max_fails允许请求失败的次数默认为1,当超过最大次数时返回proxy_next_upstream 模块定义的错误
linux 下 nginx的负载均衡的更多相关文章
- Nginx学习系列二Linux下Nginx实现负载均衡
关于在本地虚拟机(VMware 14)下安装Linux同时安装Nginx,请参考Nginx学习系列之搭建环境 1.启动Nginx 在Nginx安装成功的前提下,启动Nginx 已root模式登陆(权限 ...
- Linux下Nginx+Tomcat负载均衡和动静分离配置要点
本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...
- Linux环境下Nginx及负载均衡
Nginx 简介 Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,同时也提供了 IMAP/POP3/SMTP 服务.前向代理作为客户端的代理,服务端只知道代理的 IP 地址而不知道客 ...
- Windows下Nginx实现负载均衡
Apache,Nginx Apache和Nginx都属于属于 静态页面服务器,都有插件支持动态编程语言处理,但Nginx的IO模比Apache更适合跑代理.所以一般都作为前端缓冲代理(Nginx的反向 ...
- lnmp环境下nginx配置‘负载均衡’
NGINX负载均衡分发请求的几种方式: 1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.2.weight 指定轮询几率,weight和访问比率成正比 ...
- Linux记录-Nginx+Tomcat负载均衡配置
Nginx负载均衡配置及策略: 轮询(默认) 优点:实现简单缺点:不考虑每台服务器的处理能力配置示例如下:upstream www.xxx.com {# 需要负载的server列表server www ...
- Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建
1.Nginx简介 Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5 ...
- Linux下利用nginx实现负载均衡
linux下利用nginx实现负载均衡 前提条件: 1,安装好jdk 2,安装好tomcat和nginx(可以参考我前两篇文章) 满足前提条件后,要用nginx实现负载均衡,主要是靠配置nginx的配 ...
- Linux 下 Nginx 反向代理 负载均衡配置
转载请注明出处:http://blog.csdn.net/smartbetter/article/details/52036350 上一篇分享了 Nginx + JDK + Tomcat + MySQ ...
随机推荐
- 手贱,写个call玩玩.
今天在睡觉醒时,突然感觉对call和apply有了点理解,但是又不好表达出来.就随便写几个例子. function say() { return this.role; } function Fathe ...
- chapter1 初识Go语言
1.1 语言简史 1.2 语言特性 I:自动垃圾回收 II:更丰富的内置类型 数组切片(Slice):是一种动态增长的数组. III:函数多返回值 func getName()(firstName, ...
- node和yarn
nvm 版本管理工具 https://github.com/coreybutler/nvm-windows/releases nvm-setup nvm install +版本号 加版本 ...
- PYTHON实现识别图片
自学Python3第5天,今天突发奇想,想用Python识别图片里的文字.没想到Python实现图片文字识别这么简单,只需要一行代码就能搞定 #作者微信:2501902696 from PIL imp ...
- shutil模块---文件,文件夹复制、删除、压缩等处理
shutil模块:高级的文件,文件夹,压缩包处理 拷贝内容 # shutil.copyfileobj(open('example.ini','r'),open('example.new','w')) ...
- django-auth组件的注册,登录,登出,及验证是否已经登入。使用login的属性
1.注册: 1.创建User(django自带的用户model)的form对象 定义form验证返回的错误提示信息 error_msg = { 'username': {'required': '用户 ...
- selenium自动化测试通过localstorage绕过登陆
引言: 做自动化测试,尤其是通过page object模式做UI自动化测试,登陆是个很麻烦的事情,比如你想对某个页面进行测试,一般直接链接到那个页面是不可能的,总是需要先登陆,然后刷新页面才能到想要的 ...
- c++官方文档-动态内存
#include<iostream> #include <new> using namespace std; int main() { /** * 动态内存 * url: ht ...
- 怎么理解Linux软中断?
1.什么是中断 中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求. 2.为什么要有中断呢? "举个生活中的例子" ...
- 9.简单理解ajax
#### post 请求需要发送一个header setRequestHeader('Content-Type','application/x-www-form-urlencoded') post请求 ...