关于Nginx配置,反向代理,负责均衡等等

nginx报500、502、503、504 有什么区别?
500:Internal Server Error 内部服务错误,比如脚本错误,编程语言语法错误。
502:Bad Gateway错误,网关错误。比如服务器当前连接太多,响应太慢,页面素材太多、带宽慢。
503:Service Temporarily Unavailable,服务不可用,web服务器不能处理HTTP请求,ip超频访问导致限流,或者临时超载或者是服务器进行停机维护。
504:Gateway timeout 网关超时,程序执行时间过长导致响应超时,例如程序需要执行20秒,而nginx最大响应等待时间为10秒,这样就会出现超时。

  • nginx的四大功能是什么?
    (1)正向代理:在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。
    (2)反向代理:我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
    (3)负载均衡:单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
    (4)动静分离:为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力

  • nginx和apache的区别?
    轻量级:同样起web 服务,nginx 比apache 占用更少的内存及资源;
    抗并发:nginx处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能;
    模块化:nginx编写模块相对简单;
    IO事件模型:apache是同步多进程模型,一个连接对应一个进程,阻塞;nginx是异步的,多进程单线程,异步非阻塞,多个连接(万级别)可以对应一个进程。
    功能丰富:Nginx提供负载均衡,可以做做反向代理,前端服务器

  • Nginx 常用命令有哪些?
    启动nginx。
    停止nginx -s stop或nginx -s quit。
    重启nginx -s reload或service nginx reload。
    重载指定配置文件.nginx -c /usr/local/nginx/conf/nginx.conf。
    查看 nginx 版本nginx -v

  • Nginx的负载均衡算法都有哪些?
    轮询:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
    weight:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
    ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
    air(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配
    url_hash(第三方):根据url的hash结果分配

正向代理:局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被称为正向代理。

反向代理:客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,然后再返回到客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址

Nginx怎么处理请求的?

 server {            						# 第一个Server区块开始,表示一个独立的虚拟主机站点
        listen       80;      					# 提供服务的端口,默认80
        server_name  localhost;       			# 提供服务的域名主机名
        location / {            				# 第一个location区块开始
            root   html;       				# 站点的根目录,相当于Nginx的安装目录
            index  index.html index.htm;      	# 默认的首页文件,多个用空格分开
        }          								# 第一个location区块结果

  • nginx是如何实现高并发的?

异步,非阻塞,使用了epoll和大量的底层代码优化
nginx采用一个master进程,多个woker进程的模式。
master进程主要负责收集、分发请求。当一个请求过来时,master拉起一个worker进程负责处理这个请求。
master进程也要负责监控woker的状态,保证高可靠性
woker进程一般设置为跟cpu核心数一致。nginx的woker进程跟apache不一样。apche的进程在同一时间只能处理一个请求,所以它会开很多个进程,几百甚至几千个。而nginx的woker进程在同一时间可以处理额请求数只受内存限制,因此可以处理多个请求。

  • 如何修改worker 进程数?
    在 conf/nginx.conf 文件中修改 worker_processes 数字即可。
posted @ 2021-02-22 15:00  惊风破浪的博客  阅读(110)  评论(0编辑  收藏  举报