nginx服务器的安装及其应用(实现负载均衡)

一、什么是nginx?
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,也是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

二、nginx的优势
1、作为Webserver,Nginx处理静态文件、索引文件,自己主动索引的效率很高

2、作为代理server,Nginx能够实现无缓存的反向代理加速,提高站点执行速度

3、作为负载均衡server,Nginx既能够在内部直接支持Rails和PHP。也能够支持HTTP代理server对外进行服务,同一时候还支持简单的容错和利用算法进行负载均衡

4、在性能方面,Nginx是专门为性能优化而开发的。实现上非常注重效率。
三、这里我们学习nginx的负载均衡功能
负载均衡

负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。而Nginx目前支持自带3种负载均衡策略,还有2种常用的第三方策略。
RR
按照轮询(默认)方式进行负载,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。虽然这种方式简便、成本低廉。但缺点是:可靠性低和负载分配不均衡。
权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
四、实现负载均衡
实验环境:一个内存大于512的虚拟机

首先实现nginx
yum install gcc pcre-devel openssl-devel -y
yum install openssh-clients
 tar zxf nginx-1.14.0.tar.gz
cd nginx-1.14.0/src/core
vim nginx.h
将nginx的版本清除,防止恶意攻击
cd nginx-1.14.0/auto/cc/

vim gcc
不进行调试,直接运行
#CFLAGS="$CFLAGS -g"   

这里写图片描述
这里写图片描述

cd nginx-1.14.0
./configure --help
对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio
make
make install

cd /usr/local/nginx/sbin
ln -s /usr/local/nginx/sbin/nginx /sbin/
nginx -t检测nginx的语法是否错误
nginx开启
nginx -s stop表示关闭
nginx -s reload表示刷新
cd /usr/local/nginx/html 发布目录

这里写图片描述
并发处理的连接数

vim /etc/security/limits.conf
sysctl -a | grep file(查看系统最大开启的文件数) 
nginx - nofile 78332
useradd -M -d /usr/local/nginx/ nginx
 id nginx
yum install httpd
cd /usr/local/nginx/conf
vim nginx.conf
#user  nobody;
user nginx;
worker_processes  1;


http {
    upstream westos{
    #哈希,表示长连接,不断开连接
    #ip_hash;
    server 172.25.33.2:80 weight=2;
    server 172.25.33.3:80;
    #当后端服务器瘫痪,主机去响应服务
    server 127.0.0.1:80 backup;
    }

server {
           listen 80;
           server_name www.westos.org;
           location / {
           proxy_pass http://westos;
          }
     }
}

这里写图片描述
这里写图片描述

主机测试
功能一、实现负载均衡
这里写图片描述
功能二、实现哈希算法功能
这里写图片描述
功能三、权重的实现
这里写图片描述
这里写图片描述

rhcs套件
实现nginx的高可用
pacemaker + nginx(psch)

nginx-1.10.1.tar.gz
nginx-sticky-module-ng.tar.gz
tar zxf nginx-sticky-module-ng.tar.gz
tar zxf nginx-1.10.1.tar.gz 
cd nginx-1.10.1

 ./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --add-module=/root/nginx-sticky-module-ng
make
make install 

这里写图片描述

cd /opt/nginx/conf/
cp /usr/local/nginx/conf/nginx.conf .
vim nginx.conf
/opt/nginx/sbin/nginx 
/opt/nginx/sbin/nginx -t

http {
    upstream westos{
    #ip_hash;
    sticky;
    server 172.25.33.2:80;
    server 172.25.33.3:80;
    # server 127.0.0.1:80 backup;
    }

这里写图片描述
这里写图片描述
浏览器测试:
浏览器输入www.westos.org 点击F12查看长连接的相关信息

这里写图片描述

猜你喜欢

转载自blog.csdn.net/ningyuxuan123/article/details/81333408