-
nginx是什么?
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,最高能够支持五万个并发连接数,占用内存少,并发能力强。
-
高并发
保证系统能够同时并行处理多个请求
高并发常用指标:响应时间、吞吐量、每秒查询率、并发用户数等。
-
高可用
通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
-
反向代理
客户端对代理无感知,客户端将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,暴露的是代理服务器的地址,隐藏了真实服务器的IP地址,也就是说代理服务器和真正的服务器是一体的。
-
正向代理
就是客户端通过代理服务器对服务器进行访问,则代理服务器实现的就是正向代理。
-
负载均衡
当客户端有多个请求时,可以通过增加服务器的数量,将请求分发到各个服务器上,将原来集中到单个服务器的情况改为分发到多个服务器上,将负载分发到不同的服务器上,也就是负载均衡。
-
动静分离
将动态页面和静态页面由不同的的服务器进行解析,加快解析速度,将动静资源分开处理。
-
nginx的常用命令
- 必须进入到/user/local/nginx/sbin目录进行操作命令
- 查看版本号 ./nginx -v
- 启动 ./nginx (附加:查看nginx的状态:ps -ef | grep nginx)
- 关闭 ./nginx -s stop
- 重新加载nginx
-
nginx配置文件的位置、组成
/user/local/nginx/nginx.conf
第一部分:全局块
从配置文件开始到events块之间的内容,设置一些影响nginx服务器整体运行的配置指令
worker_processes n;->表示能够并发处理任务的数量
第二部分:events块
影响nginx服务器与用户的网络连接 worker_connections m;->支持的最大连接数
第三部分:http块(http全局块、server块)
配置最频繁,
server块主要进行配置:
全局server和location listen设置端口号、server_name 设置服务器名称
-
nginx的配置实例
- 反向代理:实现效果:打开浏览器,访问www.123.com,跳转到linux系统tomcat主页
- 准备工作:
准备一个tomcat服务器:在linux系统安装tomcat,使用默认端口8080 进入tomcat的bin目录,./startup.sh启动tomcat服务器
对外开放访问的端口:
firewall -cmd --add -port=8080/tcp --permanent
firewall -cmd -reload
firewall -cmd --list -all - 对nginx.conf进行配置实现反向代理
- 负载均衡:通过增加服务器的数量,将请求分发到各个服务器上。
负载均衡的配置:(在nginx.conf进行配置)
负载均衡的分配方式:
1.轮询(默认)2.weight(权重)权重高被分配的服务器越高 3.ip_hash算法可以将用户访问的服务器固定,防止session问题 4.按照fair后端服务器的响应时间进行分配
-
nginx配置高可用集群nginx的原理
它的实现方法是通过主从服务器模式实现的:
需要两台nginx服务器、keepalived、虚拟ip地址
在keepalived.conf中进行配置实现:主要进行三部分的配置
router_id 主机名字-->通过他来设置访问到主机
其他网络通信的相关知识:
TCP:面向连接的、可靠的、基于字节流的传输层通信协议。
IP:
设计IP的目的:提高网络的可拓展性 解决互联网问题,实现大规模、异构网络的互联互通;分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。
IP为主机提供一种无连接不可靠尽力而为的数据包传输服务
IP分为了局域网、广域网、城域网
IP定位了机器在网络中的位置
每层都有什么协议
应用层:http dns TFTP 、Telnet 、FTP、SMTP、NFS、Rlogin、 SNMP(UDP)
传输层:TCP、UDP
网络层:ICMP
数据链路层:ARP、RARP、ppp
物理层:比特流