![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
nginx 学习
自学网课
假如子弹换成糖果
目前大部分学习wiki更新在baidu内网wiki中。
展开
-
【nginx】开发基础知识
终端与进程的关系1、pts(虚拟终端):xshell每连接一个窗口到虚拟机,就出现一个bash进程(黑窗口),用来解释用户输入。whereis bash:可以查看可执行程序位置2、终端上开启进程用./nginx启动nginx,就可以知道bash是nginx的父进程,所以bash(终端)退出了,进程也退出了。3、进程关系进一步分析进程组:一个或多个进程的集合,每个进程组有唯一...原创 2019-04-01 17:01:04 · 798 阅读 · 0 评论 -
【nginx】服务器程序框架
服务器程序目录规划、makefile编写一、信号高级认识范例在触发SIGUSR1信号并因此sleep的10秒种期间,就算你多次触发SIGUSR1信号,也不会重新执行SIGUSR1信号对应的信号处理函数,而是会等这个信号处理程序执行完了,把那些信号为一次执行一次信号处理程序。但是,如果在USR1的信号处理程序执行时收到了USR2,则会跳到USR2的信号处理程序,如果不想让它跳,应屏蔽该信号,...原创 2019-04-07 13:13:48 · 563 阅读 · 0 评论 -
【nginx】网络通讯实战一
C/S,TCP/IP协议妙趣横生、惟妙惟肖谈一、客户端与服务器浏览器就是一个可执行程序(客户端),淘宝网nginx服务器返回数据包,来回很多次才完全发完,最后发一个特殊的包结束。【客户端服务器角色规律总结】a)数据通讯总在两端进行,其中一端叫客户端,另一端叫服务器端;b)总有一方先泛起第一个数据包,这发起第一个数据包的这一端,就叫客户端【浏览器】;被动收到第一个数据包这端...原创 2019-04-08 21:45:01 · 753 阅读 · 0 评论 -
【nginx】网络通讯实战二
监听端口实战、epoll介绍及原理详析一、监听端口在创建worker进程之前就要执行函数ngx_open_listening_sockets(),先创建套接字,再setsockopt防止TIME_WAIT,再ioctl设置非阻塞,然后listen,bind,将监听的套接字放入m_ListenSocketList容器。二、epoll技术概述1、I/O多路复用:epoll就是一种典型的...原创 2019-04-11 12:03:48 · 861 阅读 · 0 评论 -
【nginx】服务器业务逻辑处理框架
业务逻辑之多线程、线程池实战一、多线程的提出用 “线程” 来解决客户端发送过来的数据包。一个进程跑起来之后,缺省就自动启动了一个 “主线程”,也就是我们一个worker进程一启动就等于只有一个“主线程”在跑。多线程处理的必要性:充值服务器通讯,一般需要数秒到数十秒的通讯时间,一个线程因为充值被卡住,还有其他线程可以提供给其他玩家及时的服务。所以,服务器端处理用户需求(用户逻辑/业务...原创 2019-04-15 17:38:54 · 1019 阅读 · 0 评论 -
【nginx】画龙点睛之服务器安全与完善
过往总结、心跳包代码实战一、前面学习的总结1、核心架构浓缩总结实现的功能(1)服务器按照包头包体格式正确的接收客户端发送过来的数据包;(2)根据手动的包的不同来执行不同的业务处理逻辑;(3)把业务处理产生的结果数据包返回客户端。2、用到的主要技术(1)epoll高并发通讯技术(2)线程池技术来处理业务逻辑(3)线程之间的同步技术包括互斥量、信号量其他技术:信...原创 2019-04-18 21:44:16 · 368 阅读 · 0 评论 -
【nginx】课程技术总结
完整项目:通讯框架+业务逻辑框架【项目内容】(1)项目是非常完整的多线程高并发服务器程序(2)按照包头+包体格式收,完美的解决了数据粘包的问题(3)根据收到的数据包来执行不同的业务逻辑(4)把业务处理产生的结果数据包正确的返回给客户端【用到的主要开发技术】(1)epoll高并发通讯技术,用的是水平触发模式【LT】,简单提及边缘触发模式【ET】(2)通过线程池技术处理...原创 2019-04-21 16:34:10 · 211 阅读 · 0 评论