第十八周作业

1、请列出 nginx 常用模块的各个优缺点以及区别

ngx_http_auth_basic_module:实现基于用户的访问控制,使用basic机制进行用户认证,优点:使用登陆对话框的方式实现用户认证,缺点:认证文件依赖httpd-tools软件包。
ngx_http_stub_status_module:http状态统计,优点:可以查看http活动状态连接数、总连接数、成功的连接数、总共处理的请求数等,缺点:需要单独写个location。
ngx_http_ssl_module:用于nginx支持https协议,优点:支持自签名证书和通配符证书,缺点:使用低版本openssl有安全漏洞。
ngx_http_rewrite_module:用于实现uri重写,优点:能以多种方式改变URI实现地址重写,缺点:指令、变量、标志位众多。

2、请写出用户通过 nginx 访问的工作过程

1)、浏览器输入网址,通过DNS服务器将域名解析成IP地址。
2)、IP地址路由到nginx服务器,经过TCP三次握手后发送http请求报文。
3)、nginx服务器收到请求报文后,根据资源类型将处理请求直接处理或转发给后端服务器。
4)、后端服务器将处理结果返回给nginx服务器。
5)、nginx服务器将响应报文发给客户端,通过四次挥手关闭TCP连接,完成响应请求。
6)、用户浏览器呈现响应页面。

3、请写出实现 nginx-https 访问得步骤过程

1)、如果是编译安装,需要添加--with-http_ssl_module。
2)、生成自签名证书或者向ssl证书颁发机构申请ssl证书。
3)、nginx配置文件中增加虚拟主机,侦听443端口开启ssl并指定ssl证书位置。
4)、使用nginx -t检查配置文件,没有错误信息就执行nginx -s reload重新加载配置文件。

4、请写出隐藏 Nginx 版本号得过程

编辑nginx.conf文件,在http模块下面加入server_tokens   off;执行nginx -s reload即可生效。

5、请写出 nginx 各种优化参数。以及每个参数得作用是什么

worker_processes auto;  启动进程,设置成和cpu的核数相等,auto为自动判断。
worker_cpu_affinity auto;  为每个进程分配CPU,auto为自动分配。
worker_rlimit_nofile 65535;  一个nginx进程能打开的最多文件描述符数目。
worker_connections 65535;  单个worker_process进程的最大并发连接数。
use epoll;  使用epoll模式。
multi-accept on;  尽可能多地接受请求。
tcp_nopush on;  防止网络阻塞。
tcp_nodelay on;  提高数据的实时响应
client_max_body_size 10MB; 允许客户端请求的最大单文件字节数。
client_header_buffer_size 4k;  客户端请求头部的缓冲区大小。
autoindex on;  开启目录列表,适合文件下载,默认关闭。
open_file_cache max=65535 inactive=60s;  为打开文件指定缓存,默认没有启用,max指定缓存数量,建议和最大文件描述符一致,inactive是指经过多长时间文件没被请求后删除缓存。

原文地址:https://www.cnblogs.com/guobang/p/13807147.html