1.nginx是什么:
nginx是一个高性能的HTTP和反向代理web服务器,其特点是占有内存少,并发能力强。专门为性能优化而存。是一种热部署,不需要重启服务。
2.nginx的反向代理:
(1).正向代理:在客户端上配置代理服务器来进行网络访问。
(2).反向代理:客户端直接访问反向代理服务器,让反向代理服务器去找代理服务器来进行网络访问。
3.nginx的负载均衡:
概念出现的原因是原来的客户端访问服务器的请求变多了,需要添加多个服务器,而将多个客户端请求分摊到每个服务器上的行为就是负载均衡。
4.nginx的动静分离:
将客户端网页上的动态资源和静态资源分别部署到不同的tomcat服务器上,再通过反向代理服务将其整合响应回客户端网页上。这样可以减少静态资源上tomcat服务器的利用。让静态资源放在一个服务器上。
5.nginx的高可用:可以用备用的nginx反向代理服务器来保证。
6.nginx的常用命令:前提需要进入/usr/local/nginx/sbin目录下运行命令
./nginx -v 查看版本号
./nginx 启动nginx
./nginx -s stop 关闭nginx
./nginx -s reload 热部署nginx
7.nginx的配置文件:
第一部分全局块:主要配置影响nginx服务器整体运行的配置指令,如并发最大数量worker-processes
第二部分events 块:主要配置nginx服务器和客户端的网络连接,如最大连接数worker-connections
第三部分http块:其中分为http全局块和server块
(1).http全局块包括文件引入,日志自定义,连接超时时间,单连接请求数上限,MIME-TYPE定义。
(2).server块其中分为server全局块和location块,主要负责根据正则找到不同的location块来跳转不同的服务器。
8.nginx负载均衡的策略:
(1).轮询:根据服务器的url依次访问。
(2).权重:服务器的url后面添加权重值,权重值越大优先级越高。
(3).ipHash:当客户端访问时生成一个唯一的hash值,来保证每次这个客户端来访问时都进入同一个服务器url。
(4).fair:根据后端服务器的响应时间来决定,时间越短优先级越高。
9.nginx的运行原理:
一个master管理和监控多个worker,一个worker就是一个单独的进程,提交并发性。当客户端有一个请求时,多个worker争抢这个请求的权限。一般占用worker的链接数为2个或者4个,因为一进一出,还有可能访问tomcat服务器。