Nginx 学习记录

381 阅读3分钟

这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战

前言

吃饱饭才有力气写代码~

今天把我师傅写的代码找出了两个bug,还挺骄傲嘿嘿~
但是我还是啥也不会呀......现在学的好杂,接下来记录一下Nginx的知识点!参考了zhuanlan.zhihu.com/p/349433 这篇文章,帮助很大,感谢~

基本概念

它是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的。
源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
以下是参考这个回答里的图片:zhuanlan.zhihu.com/p/349433
下面这个图片说明了当下流行的技术架构,其中Nginx的作用类似于入口网关; image.png

正向代理

由于有防火墙,我们不能直接访问谷歌,这个时候就借助VPN来实现,这个感觉就是正向代理;这里面的逻辑像是,代理跟中介一样,客户端就是客户,客户通过中介与目标沟通!

反向代理

反向代理就是说代理的是服务器端,这一过程对于客户端透明,就跟房屋租赁中介帮房东联系租客一样的感觉?!

Nginx 的 Master-Worker

启动Nginx后,其实就是在80端口启动了Socket服务进行监听,如图所示,Nginx涉及Master进程和Worker进程。

image.png Master进程的作用:
读取并验证配置文件nginx.conf;来对worker进程进行管理;
Worker进程的作用: 每一个Worker进程为了避免线程切换都维护一个线程,处理连接和请求;Worker进程的个数由nginx.conf配置文件决定,配置几个就有几个Worker进程。

Nginx 的热部署

它有一个nginx.conf配置文件,修改这个文件就行,不需要停掉nginx,也不用中断那些请求,这个配置文件就能生效。
联系到进程,就是修改完配置文件,会用新的配置去处理请求,这些都会进入到新的worker进程里,老的那些worker进程会在以前的那些处理请求完成后被kill掉。

虽然上面这些看上去很基础或者是很琐碎,但是呢因为我师傅之前大致给我提过一嘴这些,我就感觉这个好像和昨天学的什么docker 啊,服务啊,有点儿联系上了。再深入详细的等我再学习学习!加油啊~