马哥博客作业第十八周

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

  1)、访问控制模块ngx_http_access_module:可以实现基于ip的访问控制功能

  2)、用户认证模块ngx_http_auth_basic_module:可以实现基于用户的访问控制,使用basic机制进行用户认证

  3)、状态查看模块ngx_http_stub_status_module:用于输出Nginx的基本状态信息

  4)、日志记录模块ngx_http_log_module:可以设置访问日志文件路径,格式及相关的缓冲配置

  5)、压缩相关模块ngx_http_gzip_module:支持在服务端将文件进行压缩后传给客户端,和其他压缩相关设置,实现压缩功能

  6)、https模块ngx_http_ssl_module:实现文件加密传输

 

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

  1)、用户在浏览器地址栏输入网址,通过DNS服务器将域名解析成ip地址

  2)、通过ip地址,中间经过路由转换找到网站服务器,发送http请求

  3)、因为http工作在第七层应用层,tcp工作在第四层传输层,所以在发送http请求之前,会先进行tcp三次握手,确保数据传输的稳定性

  4)、三次握手完成后,开始向服务器发送http请求报文,服务器收到请求报文后,会给出响应报文。如果是静态页面,服务器会直接将资源响应给客户端;如果是动态页面,Nginx会将请求转给后端程序,后端程序会去查询数据库,根据数据库返回的内容,发送给客户端

  5)、客户端浏览器收到响应报文后,渲染html文档,最终得到我们看到的网页页面

 

 

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

  1)、Nginx在编译安装的时候需开启ssl模块,使用--with-http_ssl_module

  2)、使用openssl生成证书文件

  3)、在Nginx配置文件中配置https信息

  4)、检查Nginx语法,重新加载服务

 

 

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

  修改Nginx的主配置文件nginx.conf,在http上下文中添加指令server_tokens,并将值设为off,然后重新加载Nginx服务生效。

 

 

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

  1)、worker_processes number | auto;

    worker进程的数量,通常应该为当前主机的cpu物理核心数,用来处理用户的请求

  2)、worker_cpu_affinity auto [cpumask];

    将worker进程绑定在固定cpu上提高缓存命中率

  3)、worker_priority number;

    指定worker进程的nice值,设定worker进程优先级:[-20 , 19]

  4)、worker_rlimit_nofile number;

    worker进程能够打开的文件数量上限,默认较小,生产中需调大如65535

原文地址:https://www.cnblogs.com/babyblue3/p/13745493.html