1 Nginx简介
Nginx是一个高性能的Web服务器和反向代理的软件。
Web服务器:就是运行我们web服务的容器,提供web功能,还有tomcat也提供类似的功能。
代理是软件架构和网络设计中,非常重要的一个概念。有两种代理:正向代理和反向代理。
正向代理
用户端设置代理服务器。
所有的请求都由代理服务器发出,无法判断代理了多少用户端,叫正向代理。
反向代理
和正向代理相反:在服务端设置代理,所有请求,由服务端接受,然后再由代理服务器发到 后方的
服务器。这么一来,所有请求,都由一个服务器接收,无法判断代理了多少服务端。这就是反向代
理。
利用反向代理,就可以将请求分发到系统内部的多个节点上,从而减少每个节点的并发数。而这些节
点在外界看来,就是一个系统,表现出唯一的ip,也就是代理服务器的IP。
最初是由一个俄罗斯人(Igor Sysoev:伊戈尔 塞索耶夫)开发的。Nginx的第一个版本发布于
2004年,因其系统资源消耗低、运行稳定,且具有高性能的并发处理能力等特性,Nginx在互联网
企业中得到广泛应用。Nginx是互联网上最受欢迎的开源Web服务器之一,Netcraft公司2019年7月
的统计数据表明,Nginx为全球最繁忙网站中的25.42%提供了服务或代理。得益于近几年云计算和
微服务的快速发展,Nginx因在其中发挥了自身优势而得到广泛应用,且有望在未来占有更多的市场
份额。
2019年3月,著名硬件负载均衡厂商F5宣布收购Nginx,Nginx成为F5的一部分。
2 NGINX安装
安装:yum
[root@localhost /]# yum install yum-utils
切换目录: [root@localhost /]# cd /etc/yum.repos.d/
创建文件: [root@localhost yum.repos.d]# touch nginx.repo
修改文件内容: [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
Nginx的安装: [root@localhost yum.repos.d]# yum install nginx
安装完成:我们的版本:nginx.x86_64 1:1.20.2-1.el7.ngx
3 Nginx启动及验证
如果 curl localhost:80 不出现 welcome ,kill 掉进程重启一下
4 Nginx常用命令
查看nginx版本号:
关闭Nginx命令:
优雅地关闭:
启动Nginx命令:
优雅地启动:
重载配置命令:
备注:找到conf文件:
5 配置文件介绍
找到nginx配置文件:/etc/nginx/nginx.conf
配置文件由模块组成,模块由配置文件中的指令组成。
指令种类:
简单指令,块指令(带大括号的指令)。
上下文概念
整个nginx.conf是一个上下文,里边的指令是上下文的一个配置。某个块指令也可以称为一个上下文,块中的指令,是当前块的配置。
整体分类:
全局块:
就是最开始的简单指令。从配置文件开始到events
events块
http块
存放代理,缓存,日志,第三方模块的配置,分为Http全局块(针对http这个模块来说是全局的)和http server块