博客22周
1、请列出 nginx 常用模块的各个优缺点以及区别
nfs_http_ssl_module 开启https功能,优点:拥有证书增加网站安全性。缺点:相比http访问速度变慢。ip绑定不能绑定多域名
nfs_http_stub_status_module nginx状态页 优点:了解站点情况,改进网站性能
ngx_http_auth_basic_module ;用户访问控制模块,basic机制进行用户认证
ngx_http_gzip_module;文件压缩模块 优点:提高传输速度,减少带宽。缺点:额外消耗cpu资源
ngx_http_log_module;日志模块
2、请写出用户通过 nginx 访问的工作过程
客户端发起请求,nginx master监听到请求,nginx的 master主进程调用work进程,根据客户不同请求,调用不用模块或后台服务器服务,给予响应。
3、请写出实现 nginx-https 访问得步骤过程
--with-http_ssl_module 编译启用ssl模块
配置
ssl on;
listen 443 ssl;
ssl_certificate tyzh.crt;
ssl_certificate_key tyzh.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
#按照这个套件配置
ssl_prefer_server_ciphers on;
使用nginx -t检查配置文件,没有错误信息就执行nginx -s reload重新加载配置文件。
4、请写出隐藏 Nginx 版本号得过程
1、server_tokens off时,修改nginx/src/http/ngx_http_header_filter_module.c 49行
static u_char ngx_http_server_string[] ="Server: tyzh" CRLF;
2、server_tokens on时,修改src/core/nginx.h 13,14行。
#define NGINX_VERSION "10.0"
#define NGINX_VER "tyzh/" NGINX_VERSION
5、请写出 nginx 各种优化参数。以及每个参数得作用是什么
sendfile on; 加快拷贝速度;
work_connection 1024; 单个worker最大并发连接数;
work_rlimit_notifle 65536;所有worker进程打开的文件上限;
work_processes auto|cpu核心数; worker进程数量
accpet_mutex on; 防止“惊群”,避免同时唤醒多个worker进程
use epoll;事件驱动
mulit_accpet on; 表示1个worker进程可以处理多个用户请求;