1、Nginx ("engine x") 是一个高性能的HTTP反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

  2、Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

  总的来说,负载均衡实现的方式分为软件实现和硬件实现两种,硬件实现运行的效率非常高,但是对应的成本也非常高。软件实现运行效率不如硬件,但是成本相对来说低得多。而使用Nginx服务器实现负载均衡,那么就是通过软件的方式来实现负载均衡,并且Nginx本身支持高并发等。故而使用Nginx服务器实现负载均衡,能大大节约企业的成本,并且由于Nginx是服务器软件,其执行效率也是非常高。本篇的目的也就是帮助大家使用Nginx实现负载均衡。

  3、nginx在负载均衡上面效果明显,在集群的部署上面使用非常明确,对于效果图如下:

  

  4、nginx的安装(Linux centos7)

    1)下载tar包放在/usr/local下面下载地址:http://nginx.org/en/download.html

    2)安装相关依赖和库文件  

# yum -y install gcc gcc-c++ autoconf automake   //gcc、gcc-c++的库文件# yum -y install pcre pcre-devel                 //安装Nginx依赖包# yum -y install zlib zlib-devel

  5、解压nginx.tar.gz包

# tar -zxvf /usr/local/nginx-1.13.0.tar.gz //解压tar包

  6、在解压包中运行./configure并安装

# cd /usr/local/nginx-1.13.0/# ./configure 
# make# make install //安装

  7、启动nginx,停止用ps -ef|grep nginx 自己kill线程

# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

  8、因为具体的配置在nginx.conf中,不建议直接在nginx.conf中修改,可以做备份处理  

# cp nginx.conf nginx.conf_bak

  9、nginx的配置 vi nginx.conf 对比一下代码修改

#设置低权限用户,为了安全而设置的user nobody;#工作衍生进程数worker_processes 4;#设置错误文件存放路径#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#设置pid存放路径(pid是控制系统中重要文件)#pid logs/nginx.pid;#设置最大连接数events{    worker_connections 1024;}http{    #主要是用于设置一组可以在proxy_pass和fastcgi_pass指令中使用额代理服务器,默认负载均衡方式为轮询    upstream tomcat_client {        #设置同一个cookie的两次/多次请求,请求的是同一台服务器        ip_hash;        #weight权重,默认1,权重越大访问概率越大,backup备用服务器,服务器全部崩溃后启动        server 192.168.2.21:8080 weight=5;        server 192.168.2.22:8080 weight=5;        server 192.168.2.23:8080 weight=5 backup;    }    #开启gzip压缩,开启后,访问网页会自动压缩    #gzip on;    #指定服务器的名称和参数    server {        listen 80;        server_name  test.nginxtest.net;        #设置字符        #charset koi8-r;        #location / 指用根目录做负载均衡        location / {            proxy_pass http://tomcat_client;            proxy_redirect default;            #设置代理            proxy_set_header Host $host;            proxy_set_header X-Real-IP $remote_addr;        }    }}

  10、运行方式同上面

  11、本编博客借鉴:http://blog.csdn.net/smartbetter/article/details/53535435

 

收藏 打印