对中间件的掌握程度:
熟悉:了解ActiveMQ/RabbitMQ/kafka等至少一种消息中间件,redis等nosql,Nginx
掌握:掌握ActiveMQ/RabbitMQ/kafka等至少一种消息中间件,redis等nosql,Nginx
精通:深入理解消息队列、nosql、nginx的原理和模式
综合应用:具备常用中间件的性能调优、复杂问题排查能力,能在项目中熟练使用并指导开发人员
redis 参考: https://blog.youkuaiyun.com/xy3233/article/details/112455516
MQ: https://blog.youkuaiyun.com/xy3233/article/details/110781271
Nginx: 作为重点中的重点
参考: https://www.runoob.com/w3cnote/nginx-setup-intro.html
https://www.cnblogs.com/struggle-1216/p/13353558.html
Nginx启动后,就是在指定的端口号启动了stock监听,
Nginx会有至少两个进程一个master进程和一个及以上的worker进程(可以由用户自己指定)
真正负责处理请求的进程就是你看到的"worker"进程
master 负责管理worker进程 还有读取配置文件
... #全局块
events { #events块
...
}
http #http块
{
... #http全局块
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}
- 全局块
配置影响nginx全局的指令。
一般有运行nginx服务器的用户组,nginx进程pid存放路径,
日志存放路径,配置文件引入,允许生成worker process数等。
(worker_processes 一半配置成 auto 自动适配cpu数量)
- events块
配置影响nginx服务器或与用户的网络连接。
有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,
是否允许同时接受多个网路连接,开启多个网络连接序列化等。
- http块
分为http全局块和server块
http块可以嵌套多个server 配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。
server块
配置虚拟主机的相关参数
location块
配置请求的路由,以及各种页面的处理情况
Nginx 压缩功能
ngx_http_gzip_module
用gzip方法压缩响应数据,节约带宽
https 功能
基于模块ngx_http_ssl_module实现
tcp 模块
可以用来做tcp转发,需要第三方模块nginx_tcp_proxy_module
视频流模块
也可以用来视频流代理 使用 nginx-rtmp-module