![](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 · 795 阅读 · 0 评论 -
【nginx】服务器程序框架
服务器程序目录规划、makefile编写 一、信号高级认识范例 在触发SIGUSR1信号并因此sleep的10秒种期间,就算你多次触发SIGUSR1信号,也不会重新执行SIGUSR1信号对应的信号处理函数,而是会等这个信号处理程序执行完了,把那些信号为一次执行一次信号处理程序。但是,如果在USR1的信号处理程序执行时收到了USR2,则会跳到USR2的信号处理程序,如果不想让它跳,应屏蔽该信号,...原创 2019-04-07 13:13:48 · 554 阅读 · 0 评论 -
【nginx】网络通讯实战一
C/S,TCP/IP协议妙趣横生、惟妙惟肖谈 一、客户端与服务器 浏览器就是一个可执行程序(客户端),淘宝网nginx服务器返回数据包,来回很多次才完全发完,最后发一个特殊的包结束。 【客户端服务器角色规律总结】 a)数据通讯总在两端进行,其中一端叫客户端,另一端叫服务器端; b)总有一方先泛起第一个数据包,这发起第一个数据包的这一端,就叫客户端【浏览器】;被动收到第一个数据包这端...原创 2019-04-08 21:45:01 · 743 阅读 · 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 · 841 阅读 · 0 评论 -
【nginx】服务器业务逻辑处理框架
业务逻辑之多线程、线程池实战 一、多线程的提出 用 “线程” 来解决客户端发送过来的数据包。 一个进程跑起来之后,缺省就自动启动了一个 “主线程”,也就是我们一个worker进程一启动就等于只有一个“主线程”在跑。 多线程处理的必要性:充值服务器通讯,一般需要数秒到数十秒的通讯时间,一个线程因为充值被卡住,还有其他线程可以提供给其他玩家及时的服务。所以,服务器端处理用户需求(用户逻辑/业务...原创 2019-04-15 17:38:54 · 1015 阅读 · 0 评论 -
【nginx】画龙点睛之服务器安全与完善
过往总结、心跳包代码实战 一、前面学习的总结 1、核心架构浓缩总结实现的功能 (1)服务器按照包头包体格式正确的接收客户端发送过来的数据包; (2)根据手动的包的不同来执行不同的业务处理逻辑; (3)把业务处理产生的结果数据包返回客户端。 2、用到的主要技术 (1)epoll高并发通讯技术 (2)线程池技术来处理业务逻辑 (3)线程之间的同步技术包括互斥量、信号量 其他技术:信...原创 2019-04-18 21:44:16 · 367 阅读 · 0 评论 -
【nginx】课程技术总结
完整项目:通讯框架+业务逻辑框架 【项目内容】 (1)项目是非常完整的多线程高并发服务器程序 (2)按照包头+包体格式收,完美的解决了数据粘包的问题 (3)根据收到的数据包来执行不同的业务逻辑 (4)把业务处理产生的结果数据包正确的返回给客户端 【用到的主要开发技术】 (1)epoll高并发通讯技术,用的是水平触发模式【LT】,简单提及边缘触发模式【ET】 (2)通过线程池技术处理...原创 2019-04-21 16:34:10 · 207 阅读 · 0 评论