linux下nginx负载均衡部署
nginx负载均衡部署
Nginx("engine x") 是一个高性能的 HTTP 和 反向代理 server,也是一个 IMAP/POP3/SMTP 代理server。
Nginx 是由 IgorSysoev 为俄罗斯訪问量第二的 Rambler.ru网站开发的,第一个公开版本号0.1.0公布于2004年10月4日。
其将源码以类BSD许可证的形式公布,因它的稳定性、丰富的功能集、演示样例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4公布。
一般我们都须要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
1 准备工作
openssl-1.0.1c.tar.gz
zlib-1.2.8.tar.gz
pcre-8.36.tar.gz
nginx-1.6.2.tar.gz
下载地址:http://pan.baidu.com/s/1dDhCYHj password: nq7r
2 上传文件到server
能够使用SecureFX上传
3 安装PCRE库
tar zxvf pcre-8.36.tar.gz
mv pcre-8.36.tar.gz pcre
cd pcre
./configure
make
make install
4 安装zlib库
tar zxvf zlib-1.2.8.tar.gz
mv zlib-1.2.8 zlib
cd zlib
./configure
make
make install
5 安装ssl
tar zxvf openssl-1.0.1c.tar.gz
mv openssl-1.0.1c.tar.gz openssl
cd openssl
./config
make
make install
6 安装nginx
Nginx 一般有两个版本号。各自是稳定版和开发版,您能够依据您的目的来选择这两个版本号的当中一个,以下是把 Nginx 安装到 /usr/local/nginx 文件夹下的具体步骤:
tar zxvf nginx-1.6.2.tar.gz
mv nginx-1.6.2.tar.gz nginx
cd nginx
./configure --prefix=/usr/local/nginx --with-pcre=/root/pcre--with-zlib=/root/zlib
make
make install
7 启动
确保系统的 80 port没被其它程序占用,
/usr/local/nginx/sbin/ ./nginx
检查是否启动成功:
ps –ef | grep nginx 有结果输入说明启动成功
打开浏览器訪问此机器的IP,假设浏览器出现Welcome to nginx! 则表示Nginx已经安装并执行成功。
8 查询
./nginx -h
9 重新启动
nginx –s reload
10 改动配置文件
cd /usr/local/nginx/conf
vi nginx.conf
改动配置文件例如以下:
#user nobody;
worker_processes 4;
events {
use epoll;
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 10;
tcp_nodelay on;
upstreammycluster{
server192.168.109.227:8082;
server192.168.109.227:8080;
}
server {
listen 80;
server_name 192.168.109.227;
access_log off;
location /{
proxy_passhttp://mycluster;
}
error_page 500 502 503 504 /50x.html;
location =/50x.html {
root html;
}
location/nginx_status {
stub_status off;
access_logoff;
allow192.168.64.178;#璁剧疆涓哄彲璁块棶璇ョ姸鎬佷俊鎭殑ip
deny all;
}
}
}
11 Nginx负载均衡策略
11.1 轮询(默认)
对于一级后端server群,形成一个环队列的形式。对于每一个到达的请求按时间顺序顺次分配给这些后端server。在前端调度器与后端server之间採用“心跳”方式进行状态检查。假设发现后端server宕机,则将其删除。
这样的方式为默认配置,长处是简洁,但缺点是无法进行最优化调度,有可能有的请求须要耗时较久。这样会带来一定的不平衡。
11.2 weight
指定轮询几率,weight和訪问比率成正比,用于后端server性能不均的情况。
ps:以上轮询负载均衡策略。我个人觉得对于动态站点应用,这差点儿就是形同摆设。没有人会採用。
但一种情况例外:server端的session採用共享机制。如存储在数据库或者memcached内存里等。
11.3 ip_hash
这是一种非轮询式方式,对于每一个到达的请求,直接通过其请求IP进行哈希的映射。通过映射结果获得那一台后端server要处理这个请求。这样的方式有一个明显的优点是可以保证session的唯一性。
11.4 基于服务响应式fair(第三方)
这样的方式是依据server端的动态响应,对每个请求进行分配。 这样的方式可以自己主动依据当前的后端实际负载来优化。
11.5 url_hash(第三方)
这种方式与IP的哈希方式类似。是对客户机请求的URL进行哈希操作,这种方式有一个明显的优点是,可以便于内容缓存的实现。对于常常性的资源訪问,採用这种方式会获得很好的质量。它眼下不是nginx自带的功能,须要安装补丁方可使用。
本指令的具体说明和安装见:(文章后面有附带具体安装实例)
linux下nginx负载均衡部署的更多相关文章
- linux下nginx负载均衡搭建
[一.Nginx能做什么] 1.http服务器.Nginx是一个http服务可以独立提供http服务.可以做网页静态服务器. 2.虚拟主机.可以实现在一台服务器虚拟出多个网站.例如个人网路使用的虚拟主 ...
- 19个心得 明明白白说Linux下的负载均衡
[51CTO.com独家特稿]前言:作为一名Linux/unix系统工程师,这几年一直在涉及到对外项目,经手过许多小中型网站的架构,F5.LVS及Nginx接触的都比较多,我想一种比较通俗易懂的语气跟 ...
- Nginx系列篇二:linux搭建Nginx负载均衡
建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...
- Linux配置Nginx负载均衡
nginx配置负载均衡其实很简单,一直还以为负载均衡是个很高端人士玩的 首先先了解下负载均衡,假设一个场景,如果有1000个客户同时访问你服务器时,而你只有一台服务器的Nginx,且只有一个MySQL ...
- 【转贴】Linux系统NGINX负载均衡404错误处理方法
NGINX负载均衡404错误处理方法 使用NGINX 实现负载均衡,但一组服务器的数据不是实施同步,主服务器有了数据要过段时间才同步到其他服务器 upstream image.stream.com ...
- Linux之nginx负载均衡
Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...
- Linux centosVMware Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl
一.Nginx负载均衡 vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内容 upstream qq_com { ip_hash; 同一个用户始终保持 ...
- 三、netcore跨平台之 Linux配置nginx负载均衡
前面两章讲了netcore在linux上部署以及配置nginx,并让nginx代理webapi. 这一章主要讲如何配置负载均衡,有些步骤在前两章讲的很详细了,所以这一章我就不会一个个截图了. 因为本人 ...
- 19个心得,明明白白说Linux下的负载均衡
一.目前网站架构一般分成负载均衡层.web层和数据库层,我其实一般还会多加一层,即文件服务器层,因为现在随着网站的PV越来越多,文件服务器的压力也越来越大;不过随着moosefs.DRDB+Heart ...
随机推荐
- MFC、C++ 、Windows编程高手
cnblogs: DoubleLi 1. DoubleLi 白手起家Win32SDK应用程序 http://www.cnblogs.com/lidabo/p/3450178.html#_Toc309 ...
- Sprintf()的思考和引出的相关问题
Sprintf()为什么不安全? 功能 把格式化的数据写入某个 字符串 缓冲区. 头文件 stdio.h 原型 int sprintf( char *buffer, const char *forma ...
- OpenSSL命令---rand
用途: 用来产生伪随机字节.随机数字产生器需要一个seed,先已经说过了,在没有/dev/srandom系统下的解决方法是自己做一个~/.rnd文件.如果该程序能让随机数字产生器很满意的被seeded ...
- Javascript 运动基础 01
JS运动基础 运动基础 让Div运动起来 速度——物体运动的快慢 运动中的Bug 不会停止 速度取某些值会无法停止 到达位置后再点击还会运动 重复点击速度加快 匀速运动 速度不变 <s ...
- Linux下通过rm -f删除大量文件时提示"-bash: /bin/rm: Argument list too long"的解决方法
Linux下通过rm -f删除/var/spool/postfix/maildrop/中大量的小文件时提示: "-bash: /bin/rm: Argument list too long& ...
- windows环境下Mongodb分片配置
使用MongoDB的GridFS来存储文件,以前一直使用单个服务,分布式环境也一直没有配置成功,今天参考了几位大神的文章终于配置成功,再也不用担心文件存储的性能和安全啦.以下是自己部署的过程和示例,记 ...
- Altera FPGA中的pin简介
第一步要看的肯定是pin planner ,这个是黑金四代EP4CE15F17C8的视图 先就是发现他们pin有不同的颜色区域,分别对应不同的bank,应该是有的设计里面要求pin在同一个bank吧( ...
- mong 备份和恢复
[root@hy-mrz01 bin]# ./mongofiles list -h114.55.5.57 -db pics 20160602152850deeabcb1bd2644afa0c3a9a8 ...
- WinForm 使用皮肤,且单击按更换皮肤。
运行效果: 首先把DLL程序集文件和SSK皮肤文件放在要运行程序的DEBug文件夹下,然后引入引用. 之后可以在程序里写代码了. private void Form2_Load(object send ...
- 字符串处理-AC自动机
估计在OJ上刷过题的都会对AC自动机这个名词很感兴趣,同样,记得去年ACM暑期集训的时候,在最后讲到字符串部分,听说了这个算法的名字之后就对于它心向往之,AC正好是Accept的简称,字面意义上的理解 ...