Nginx的安装和各种配置实例

1、Nginx概述

Nginx是一个高性能HTTP反向代理服务器,特点是占有内存少,并发能力强。有报告表明能支持高达50000个并发连接数。

2、反向代理

(1)正向代理

在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网的访问

Nginx的安装和各种配置实例_第1张图片

(2)反向代理

我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器,获取数据后,再返回给客户端。此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器ip地址

3、负载均衡

单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原来请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

Nginx的安装和各种配置实例_第2张图片

4、动静结合

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力

Nginx的安装和各种配置实例_第3张图片

5、Linux下安装

Nginx的安装和各种配置实例_第4张图片

(1)安装pcre依赖

          把安装的压缩文件放到Linux上

          解压缩

          进入解压缩之后的目录执行./configure

          然后再执行make && make install

          安装完成之后,可以执行命令pcre-config --version查看版本号

(2)其它依赖的安装类似

          tar -zxvf openssl-1.0.2h.tar.gz

          cd openssl-1.0.sh/

          ./configure shared zlib 

           make depend 

           make && make install

           

            tar -zxvf zlib-1.2.11.tar.gz

            cd zlib-1.2.11/

            ./configure

            make && make install

(3)安装Nginx

            把安装的压缩文件放到Linux上

            解压缩

            进入解压缩之后的目录执行./configure(这是不需要ssl证书的安装方式)

            这是需要ssl证书的安装:./configure --with-http_ssl_module --with-openssl=/usr/local/share/applications/install/openssl-1.0.1h

            最后再执行make && make install

      

安装完之后会自动在/usr/local下创建文件夹nginx,在nginx下的sbin目录下有启动脚本

Linux服务器有防火墙,端口是不可以随意访问的,需要将nginx的访问端口在防火墙中做配置

查看防火墙firewall-cmd --list-all

设置开放的端口:sudo firewall-cmd --add-port=80/tcp --permanent

重启防火墙:firewall-cmd -reload

6、常用命令

(1)使用Nginx命令的前提是进入到/usr/local/nginx/sbin目录下执行命令

(2)查看Nginx版本号:./nginx -v

(3)启动nginx  ./nginx

(4)关闭nginx  ./nginx -s stop

(5)重新加载nginx  ./nginx -s reload

7、配置文件

配置文件所在位置:/usr/local/nginx/conf/nginx.conf

第一部分:全局块

从配置文件开始到events块之间的内容,主要会设置一些影响nginx整体运行的配置指令,比如:worker_processes 1;值越大,支持并发处理量越大

第二部分:events块

events块涉及的指令主要影响nginx服务器与用户的网络连接,比如:worker_connections 1024;支持的最大连接数

第三部分:http块

包括http全局块和server块

8、配置实例-反向代理1

Nginx的安装和各种配置实例_第5张图片

请求192.168.17.129:80转发到http://127.0.0.1:8080

9、配置实例-反向代理2

 

 

Nginx的安装和各种配置实例_第6张图片

 

location简单语法配置:

Nginx的安装和各种配置实例_第7张图片

 

10、配置实例-负载均衡

 

Nginx的安装和各种配置实例_第8张图片

 

Nginx的安装和各种配置实例_第9张图片

 

分配服务器策略:

(1)轮询(默认)

每个请求按时间顺序逐一分配到不同的服务器,如果后端服务器down掉,能自动剔除

(2)weight

weight代表权重,默认为1,权重越高,被分配到的客户端越多

(3)ip_hash

每个访问按照ip的hash结果分配,这样每个访客固定访问一个服务器,可以解决session的问题

Nginx的安装和各种配置实例_第10张图片

(4)fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配

Nginx的安装和各种配置实例_第11张图片

11、配置实例-动静结合

Nginx的安装和各种配置实例_第12张图片

 

Nginx的安装和各种配置实例_第13张图片

静态文件的配置,访问的是Linux某个目录下的静态文件,和前端静态文件放某个服务器访问不一样

Nginx的安装和各种配置实例_第14张图片

自己的配置实现:

Nginx的安装和各种配置实例_第15张图片

目录/data/www/图1.png

目录/data/html/test.html

访问图片的路径为:

 

Nginx的安装和各种配置实例_第16张图片

访问静态页面的路径为:

Nginx的安装和各种配置实例_第17张图片

12、配置实例-高可用

Nginx的安装和各种配置实例_第18张图片

1、配置高可用的准备工作

(1)需要两台服务器;

(2)需要两台服务器都安装nginx;

(3)需要两台服务器都安装keepalived      yum install keepalived -y

安装之后再etc里面生成目录keepalived,有文件keepalived.conf

2、完成高可用配置(主从配置)

(1)修改/etc/keepalived/keepalived.conf配置文件

router_id:服务器主机名;在/etc下的hosts文件中配置

 

 

 

Nginx的安装和各种配置实例_第19张图片

脚本的配置

 

Nginx的安装和各种配置实例_第20张图片

虚拟ip的配置

 

Nginx的安装和各种配置实例_第21张图片

(2)在/usr/local/src下添加检测脚本nginx_check.sh

#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

(3)把两台服务器的nginx和keepalived都启动

启动keepalived的命令:systemctl start keepalived.service

 

Nginx原理

master&worker

 

Nginx的安装和各种配置实例_第22张图片

Nginx的安装和各种配置实例_第23张图片

一个master和多个worker有好处

(1)可以使用nginx -s reload热部署,利于nginx进行热部署;

(2)每个worker是独立的进程,如果有其中一个worker出现问题,其它worker独立的,

继续进行争抢,实现请求过程,不会造成服务中断;

(3)设置多少个worker合适

worker数和服务器的cpu数相等是最为适宜的

(4)worker连接数worker_connection

 

如果内容对大家有所帮助,感谢鼓励!实现我小时候一人给我一块钱的美梦,哈哈!

 

 

 

 

 

你可能感兴趣的:(nginx)