03
2020
04

解释如何在Nginx服务器上添加模块?

在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。nginx状态码499:服务端处理时间过长,客户端主动关闭了连接。502错误可能原因(1).FastCGI进程是否已经启动(2).FastCGI worker进程数是否不够(3).FastCGI执行时间过长fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;(4).FastCGI Buffer不够nginx和apac
03
2020
04

用Nginx服务器解释-s的目的是什么?

用于运行Nginx -s参数的可执行文件。
03
2020
04

解释Nginx是否支持将请求压缩到上游?

您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。解释如何在Nginx中获得当前的时间?要获得Nginx的当前时间,必须使用SSI模块、$date_gmt和$date_local的变量。Proxy_set_header THE-TIME $date_gmt;
03
2020
04

请解释什么是C10K问题?

C10K问题是指无法同时处理大量客户端(10,000)的网络套接字。
03
2020
04

请解释ngx_http_upstream_module的作用是什么?

ngx_http_upstream_module用于定义可通过fastcgi传递、proxy传递、uwsgi传递、memcached传递和scgi传递指令来引用的服务器组。
03
2020
04

Nginx 如何开启压缩?

开启nginx gzip压缩后,网页、css、js等静态资源的大小会大大的减少,从而可以节约大量的带宽,提高传输效率,给用户快的体验。虽然会消耗cpu资源,但是为了给用户更好的体验是值得的。开启的配置如下:将以上配置放到nginx.conf的http{ … }节点中。保存并重启nginx,刷新页面(为了避免缓存,请强制刷新)就能看到效果了。以谷歌浏览器为例,通过F12看请求的响应头部,如下图:gzip压缩前后效果对比:jquery原大小90kb,压缩后只有30kb。gzip虽然好用,但是一下类型
03
2020
04

Nginx 如何实现后端服务的健康检查?

方式一,利用 nginx 自带模块 ngx_http_proxy_module 和 ngx_http_upstream_module 对后端节点做健康检查。方式二,利用 nginx_upstream_check_module 模块对后端节点做健康检查。推荐使用。
03
2020
04

Nginx 有哪些负载均衡策略?

负载均衡,即是代理服务器将接收的请求均衡的分发到各服务器中。Nginx 默认提供了 3 种负载均衡策略:1、轮询(默认)round_robin每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。2、IP 哈希 ip_hash每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 共享的问题。当然,实际场景下,一般不考虑使用 ip_hash 解决 session 共享。3、最少连接 least_conn下一个请
03
2020
04

什么叫 CDN 服务?

CDN ,即内容分发网络。其目的是,通过在现有的 Internet中 增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可就近取得所需的内容,提高用户访问网站的速度。一般来说,因为现在 CDN 服务比较大众,所以基本所有公司都会使用 CDN 服务。
03
2020
04

为什么要做动、静分离?

在我们的软件开发中,有些请求是需要后台处理的(如:.jsp,.do 等等),有些请求是不需要经过后台处理的(如:css、html、jpg、js 等等文件),这些不需要经过后台处理的文件称为静态文件,否则动态文件。因此我们后台处理忽略静态文件。这会有人又说那我后台忽略静态文件不就完了吗?当然这是可以的,但是这样后台的请求次数就明显增多了。在我们对资源的响应速度有要求的时候,我们应该使用这种动静分离的策略去解决动、静分离将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用
03
2020
04

什么是动态资源、静态资源分离?

动态资源、静态资源分离,是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。动态资源、静态资源分离简单的概括是:动态文件与静态文件的分离。
03
2020
04

为什么 Nginx 不使用多线程?

Apache: 创建多个进程或线程,而每个进程或线程都会为其分配 cpu 和内存(线程要比进程小的多,所以 worker 支持比 perfork 高的并发),并发过大会榨干服务器资源。Nginx: 采用单线程来异步非阻塞处理请求(管理员可以配置 Nginx 主进程的工作进程的数量)(epoll),不会为每个请求分配 cpu 和内存资源,节省了大量资源,同时也减少了大量的 CPU 的上下文切换。所以才使得 Nginx 支持更高的并发。Netty、Redis 基本采用相同思路。
03
2020
04

Nginx 是如何实现高并发的?

如果一个 server 采用一个进程(或者线程)负责一个request的方式,那么进程数就是并发数。那么显而易见的,就是会有很多进程在等待中。等什么?最多的应该是等待网络传输。其缺点胖友应该也感觉到了,此处不述。思考下,Java 的 NIO 和 BIO 的对比哟。而 Nginx 的异步非阻塞工作方式正是利用了这点等待的时间。在需要等待的时候,这些进程就空闲出来待命了。因此表现为少数几个进程就解决了大量的并发问题。Nginx是如何利用的呢,简单来说:同样的 4 个进程,如果采用一个进程负责一个 r
03
2020
04

请解释 Nginx 如何处理 HTTP 请求?

首先,Nginx 在启动时,会解析配置文件,得到需要监听的端口与 IP 地址,然后在 Nginx 的 Master 进程里面先初始化好这个监控的Socket(创建 S ocket,设置 addr、reuse 等选项,绑定到指定的 ip 地址端口,再 listen 监听)。然后,再 fork(一个现有进程可以调用 fork 函数创建一个新进程。由 fork 创建的新进程被称为子进程 )出多个子进程出来。之后,子进程会竞争 accept 新的连接。此时,客户端就可以向 nginx 发起连接了。当客户
03
2020
04

Squid、Varinsh、Nginx 有什么区别?

三者都实现缓存服务器的作用。所以,本问题所有的视角,都是在作为缓存服务器下来聊。1、Nginx本来是反向代理/web服务器,用了插件可以做做这个副业(缓存服务器)。但是本身不支持特性挺多,只能缓存静态文件。2、从这些功能上,Varinsh 和 Squid 是专业的 Cache 服务,而Nginx 这些是第三方模块完成。3、Varnish 本身的技术上优势要高于 Squid ,它采用了可视化页面缓存技术。在内存的利用上,Varnis h比 Squid 具有优势,性能要比 Squid 高。还有强大的
03
2020
04

LVS、Nginx、HAproxy 有什么区别?

LVS :是基于四层的转发。HAproxy : 是基于四层和七层的转发,是专业的代理服务器。Nginx :是 WEB 服务器,缓存服务器,又是反向代理服务器,可以做七层的转发。Nginx 引入 TCP 插件之后,也可以支持四层的转发。区别:LVS 由于是基于四层的转发所以只能做端口的转发,而基于 URL 的、基于目录的这种转发 LVS 就做不了。工作选择:HAproxy 和 Nginx 由于可以做七层的转发,所以 URL 和目录的转发都可以做,在很大并发量的时候我们就要选择 LVS ,像中小型公
03
2020
04

请列举 Nginx 和 Apache 之间的不同点?

轻量级,同样起 web 服务,Nginx 比 Apache 占用更少的内存及资源。抗并发,Nginx 处理请求是异步非阻塞的,而 Apache 则是阻塞型的,在高并发下 Nginx 能保持低资源低消耗高性能。最核心的区别在于 Apache 是同步多进程模型,一个连接对应一个进程;Nginx 是异步的,多个连接(万级别)可以对应一个进程。Nginx 高度模块化的设计,编写模块相对简单。
03
2020
04

什么是反向代理?

反向代理(Reverse Proxy)方式,是指以代理服务器来接受 Internet上的连接请求,然后将请求,发给内部网络上的服务器并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。反向代理总结就一句话:代理端代理的是服务端。
03
2020
04

什么是正向代理?

一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。正向代理总结就一句话:代理端代理的是客户端。例如说:? 我们使用的翻墙软件,OpenVPN 等等。
03
2020
04

使用“反向代理服务器”的优点是什么?

反向代理服务器可以隐藏源服务器的存在和特征。它充当互联网云和 Web 服务器之间的中间层。这对于安全方面来说是很好的,特别是当我们使用 Web 托管服务时。这里,先不考虑负载均衡。
03
2020
04

Nginx 有哪些优点?

跨平台、配置简单。非阻塞、高并发连接处理 2-3 万并发连接数,官方监测能支持 5 万并发。内存消耗小开启 10 个 Nginx 才占 150M 内存。成本低廉,且开源。稳定性高,宕机的概率非常小。
03
2020
04

Nginx 常用配置?

worker_processes  8; # 工作进程个数worker_connections  65535; # 每个工作进程能并发处理(发起)的最大连接数(包含所有连接数)error_log         /data/logs/nginx/error.log; # 错误日志打印地址access_log      /data/logs/nginx/access.log; # 进入日志打印地址log_fo
03
2020
04

Nginx 常用命令?

启动 nginx 。停止 nginx -s stop 或 nginx -s quit 。重载配置 ./sbin/nginx -s reload(平滑重启) 或 service nginx reload 。重载指定配置文件 .nginx -c /usr/local/nginx/conf/nginx.conf 。查看 nginx 版本 nginx -v 。检查配置文件是否正确 nginx -t 。显示帮助信息 nginx -h 。
03
2020
04

fastcgi 与 cgi 的区别?

1)cgiweb 服务器会根据请求的内容,然后会 fork 一个新进程来运行外部 c 程序(或 perl 脚本…), 这个进程会把处理完的数据返回给 web 服务器,最后 web 服务器把内容发送给用户,刚才 fork 的进程也随之退出。如果下次用户还请求改动态脚本,那么 web 服务器又再次 fork 一个新进程,周而复始的进行。2)fastcgiweb 服务器收到一个请求时,他不会重新 fork 一个进程(因为这个进程在 web 服务器启动时就开启了,而且不会退出),web 服务器直接把内容
03
2020
04

请解释一下什么是 Nginx ?

Nginx ,是一个 Web 服务器和反向代理服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。目前使用的最多的 Web 服务器或者代理服务器,像淘宝、新浪、网易、迅雷等都在使用。Nginx 的主要功能如下:作为 http server (代替 Apache ,对 PHP 需要 FastCGI 处理器支持)FastCGI:Nginx 本身不支持 PHP 等语言,但是它可以通过 FastCGI 来将请求扔给某些语言或框架处理。反向代理服务器实现负载均衡虚拟主机