Nginx学习笔记

内容介绍

1、nginx基本概念。

  • nginx是什么,能做什么事情
  • 反向代理。
  • 负载均衡。
  • 动静分离

2、nginx 安装、常用命令和配置文件

  • 在liunx系统中安装nginx.
  • nginx常用命令。
  • nginx 配置文件。

3、nginx 配置实例

  • nginx配置反向代理
  • nginx配置负载均衡
  • nginx配置动静分离。
  • nginx配置高可用集群

4、nginx 原理。

一、Nginx简介

1、什么是NGINX

  1. Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能
    力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
  2. Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl、php等。 但是不支持java。Java程序只能通过与tomcat配合完成。
  3. Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载
    的考验,有报告表明能支持高达50000个并发连接数。

2、反向代理

①、正向代理:
如果把局域网外的Intermet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
在这里插入图片描述
②、反向代理:
其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

在这里插入图片描述

3、负载均衡

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

4、动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速
度。降低原来单个服务器的压力。
在这里插入图片描述

二、Nginx的安装与配置

1、准备工作

1.使用远程连接工具连接linux系统
2.去nginx官网下载:http://nginx.org/en/download.html
在这里插入图片描述
3.选择linux系统,通过xftp工具将文件上传到Linux系统上
在这里插入图片描述

2、开始安装

1、安装 pcre 、openssl 、zlib 、 gcc 依赖

yum -y install make  pcre-devel zlib zlib-devel gcc-c++ libtool openssl openssl-devel

查看pcre依赖是否安装成功:pcre-config --version
在这里插入图片描述
2、安装nginx
①.将nginx压缩文件放到linux系统中,我这里将文件放在/opt目录下在这里插入图片描述
②.使用命令解压

tar -zvxf nginx-1.18.0.tar.gz 

③.解压完成之后进入nginx文件目录,执行 ./configure
在这里插入图片描述
④.使用make&&make install
在这里插入图片描述
安装完成之后,在usr目录下多出一个文件夹local/nginx,在nginx有sbin启动脚本
在这里插入图片描述
可以使用.nginx执行
在这里插入图片描述
在浏览器中输入虚拟机的ip加80端口(nginx以80为默认端口)即可访问nginx默认网页
在这里插入图片描述
如果不能访问,需要对防火墙进行设置
① 查看防火墙相关信息

firewall-cmd --list-all	# 查看防火墙规则
firewall-cmd --list-ports # 查看端口信息
firewall-cmd --query-port=8080/tcp	# 查询端口是否开放

在这里插入图片描述
② 设置开放的端口号

firewall-cmd --add-port=80/tcp --permanent

③ 设置之后需要重启防火墙

firewall-cmd --reload

3、nginx的常用命令

使用nginx操作命令前提条件:必须进入nginx的目录
/usr/local/nginx/sbin
① 查看nginx的版本号

./nginx -v

② 启动nginx

./nginx

③ 关闭nginx

./nginx -s stop

④ 重新加载nginx

./nginx -s relaod

三、Nginx的配置文件

1、nginx配置文件的位置

/usr/local/nginx/conf/nginx.conf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u11texLp-1625929026363)(https://img-blo加粗样式g.csdnimg.cn/20210710223324955.png)]

2、nginx配置文件组成

① nginx配置文件由三部分组成

  • 第一部分 全局块

从配置文件开始到events块之间的内容,主要设置一下影响nginx服务器整体运行的配置指令。主要包括配置运行Nginx服务器的用户(组)、允许生成的work process 数,进程PID存放路径、日志存放路径和类型以及配置文件的引入等。
在这里插入图片描述

这是Nginx服务器并发处理服务的关键配置,worker_processes值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约

  • 第二部分 events块

events块涉及的指令主要影响Nginx服务器与用户的网络连接,常用的设置是否开启对多 work process下的网络连接进行序列化,是否允许同时接受多个网络连接,选取哪种事件驱动模型来处理连接请求,每个work process可以同时支持的最大连接数等。

在这里插入图片描述
上述例子表示每个work process支持的最大连接数为1024

  • 第三部分 http块

这是Nginx配置频繁的部分,包括代理、缓存和日志定义等绝大多数功能和第三方模块的配置。
http块也包括http全局块、server块

① http全局块

http全局块配置的指令包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单连接请求数上限
在这里插入图片描述
② server块
这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的 ,该技术的产生是为了节省互联网服务器硬件成本。

每个http块可以包括多个server块,而每个server块就相当于一个虚拟主机。

而每个server块也分为全局server 块,以及可以同时包含多个locaton块。

(1)全局server块
最常见的配置是本虚拟机主机的监听配置和本虚拟机主机的名称或IP配置。
在这里插入图片描述
(2)location块
一个server块可以配置多个location块。

这块的主要作用是基于Nginx服务器接收到的请求字符串(例如server_name/uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值