Nginx服务器的安装与反向代理负载均衡

Nginx服务器

一:什么是Nginx?

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

二:如何在Linux中搭建Nginx服务器?

先不要创建/usr/local/nginx目录,因为安装成功后会自动创建。
环境Centos7.4

在Linux终端输入命令行的主要步骤:

下载
wget http://nginx.org/download/nginx-1.14.0.tar.gz
解压
tar -zxvf nginx-1.14.0.tar.gz
安装
./configure

如果安装错误,提示需要其它环境,请参考下面

安装 make

yum -y install gcc automake autoconf libtool make

安装 g++

yum install gcc gcc-c++

安装 PCRE库

yum -y install pcre pcre-devel

安装 Zlib

yum -y install zlib zlib-devel

如果./configure安装成功,只需要再执行两个命令:

make
make install

查看是否安装成功

cd /usr/local/nginx

如果安装成功,则会出现下列目录:

conf  html  logs  sbin

切换到sbin目录

cd /sbin

启动程序

./nginx

常见的错误

这里写图片描述

三:Nginx的反向代理和负载均衡

这里写图片描述

正向代理

这里写图片描述

反向代理

这里写图片描述

什么是负载均衡

基于反向代理的原理实现负载均衡
这里写图片描述

四:Nginx负载均衡的实现

这里写图片描述

负载均衡配置文件

默认配置文件nginx.conf 很重要,我们一般是新建一个配置文件,在启动时指定加载。

[root@yueshutong conf]# ls  //查看目录
fastcgi.conf            koi-win             scgi_params
fastcgi.conf.default    mime.types          scgi_params.default
fastcgi_params          mime.types.default  uwsgi_params
fastcgi_params.default  nginx.conf          uwsgi_params.default
koi-utf                 nginx.conf.default  win-utf
[root@yueshutong conf]# touch fzjh.conf  //新建负载均衡配置文件

编辑fzjh.conf配置文件

vi fzjh.conf
worker_processes  1;#工作进程的个数,一般与计算机的cpu核数一致  

events {  
    worker_connections  1024;#单个进程最大连接数(最大连接数=连接数*进程数) 并发 
}  

http {  
    include       mime.types; #文件扩展名与文件类型映射表  
    default_type  application/octet-stream;#默认文件类型  

    sendfile        on;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off

    keepalive_timeout  65; #长连接超时时间,单位是秒  

    gzip  on;#启用Gizp压缩  

    #服务器的集群  
    upstream  myproject {  #服务器集群名字   
        server    220.181.111.188:80  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
        server    42.121.252.58:80  weight=2;  
    }     

    #当前的Nginx的配置  
    server {  
        listen       80;  #监听80端口,可以改成其他端口  
        server_name  localhost; ##############   当前服务的域名  

        location / {  ##配置路径/下实现负载均衡
            proxy_pass http://myproject;  ##对应哪个服务器集群
            proxy_redirect default;  
        }  

        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
           root   html;  #根目录
        }  
    }  
}  

我们在nginx目录下执行命令,启动负载均衡

./sbin/nginx -c ./conf/fzjh.conf

然后尝试访问你的服务器,多访问几次,你会发现它会访问2次csdn网站,1次百度。说明我们的负载均衡已经部署完毕。

如何关闭Nginx服务器

1.查看nginx进程号

ps -ef|grep nginx

2.kill掉进程即可 (1709是第二列的进程号)

kill 1709

或者

killall -9 nginx

五:HTTP Upstream 模块

1.ip_hash指令

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

实例

此时不应该使用weight权重。


http {  
     ....
    upstream  myproject {    
        ip_hash; #实现会话跟踪
        server 140.205.140.234;
        server 61.135.169.125;

    }     
   ....
} 

这里写图片描述

六:其他负载均衡实现方式

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

猜你喜欢

转载自blog.csdn.net/yueshutong123/article/details/81073529