摘要: 之前开发用Linux C比较多,C++中的STL 容器基本没有接触过。最近在学习C++,平时用到c++ 17中的部分新特性,下面就简单分享下自己C++的学习流程。 一、环境搭建 本人使用的是CentOS 7系统,该系统默认的g++版本不支持c++17的新特性。所以,首先需要做的就是升级新版本的g++ 阅读全文
posted @ 2017-07-09 16:48 sxhlinux 阅读(1110) 评论(0) 推荐(0) 编辑
摘要: 源码: nginx 1.13.0-release 一、前言 nginx是采用多进程模型,master和worker之间主要通过pipe管道的方式进行通信,多进程的优势就在于各个进程互不影响。但是经常会有人问道,nginx为什么不采用多线程模型(这个除了之前一篇文章讲到的情况,别的只有去问作者了,HA 阅读全文
posted @ 2017-05-25 23:34 sxhlinux 阅读(3161) 评论(0) 推荐(0) 编辑
摘要: 源码:nginx 1.13.0-release 一、前言 在分析源码时,经常可以看到类似 #if (NGX_PCRE) .... #endif 这样的代码段,这样的设计可以在不改动源码的情况下,通过简单的定义宏的方式来实现功能的打开与关闭,但是在nginx/src目录下始终没有找到宏 NGX_PCR 阅读全文
posted @ 2017-05-04 13:59 sxhlinux 阅读(1087) 评论(0) 推荐(2) 编辑
摘要: 源码:nginx 1.12.0 一、简介 nginx是一款非常受欢迎的软件,具备高性能、模块化可定制的良好特性。之前写了一篇nginx的http模块分析的文章,主要对http处理模块进行了分析讲解,同时也涉及了nginx模块化的内容。至于nginx高性能的原因,希望能够在在这篇文章中就自己对于这方面 阅读全文
posted @ 2017-04-29 16:46 sxhlinux 阅读(1607) 评论(0) 推荐(0) 编辑
摘要: 很多情况下我们会遇到编程模型选择的问题:多进程 or 多线程 ? 下面简要介绍下两者区别: 进程内所有线程共享进程资源 上面表格中写出了多线程、多进程的基本区别,除了上述内容我们还有一些需要关注的点: 之前看到很多人疑问,为什么高性能的nginx、redis要采用多进程模型而不是多线程模型? 我来根 阅读全文
posted @ 2017-04-26 10:57 sxhlinux 阅读(2175) 评论(6) 推荐(0) 编辑
摘要: 环境:Linux C 一、协议介绍 TCP是面向连接的协议,提供可靠的数据传输;TCP协议的可靠传输基于三次握手、四次挥手以及确认重传机制实现。下面来具体展示下TCP的三次握手、四次挥手状态 大家都知道已经建立连接的TCP遇到网络丢包会有确认重传机制。在三次握手期间,如果A收到B的SYN+ACK,但 阅读全文
posted @ 2017-04-26 00:23 sxhlinux 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 源码:nginx 1.12.0 一、nginx http模块简介 由于nginx的性能优势,现在已经有越来越多的单位、个人采用nginx或者openresty、tengine等衍生版来作为WEB服务器、负载均衡服务器、安全网关来使用。在这些场景下,依赖的就是nginx的http模块,nginx的设计 阅读全文
posted @ 2017-04-22 16:29 sxhlinux 阅读(2721) 评论(0) 推荐(0) 编辑
摘要: 前言 Linux中的信号是向进程异步发送的事件通知,通知进程有事件(硬件异常、程序执行异常、外部发出信号)发生。当信号产生时,内核向进程发送信号(在进程所在的进程表项的信号域设置对应于该信号的位)。内核处理一个进程收到的信号的时机是在一个进程从内核态返回用户态时,当一个进程在内核态运行时,软中断信号 阅读全文
posted @ 2017-04-18 18:49 sxhlinux 阅读(1731) 评论(0) 推荐(0) 编辑
摘要: 日常工作中经常涉及到系统间的文件传输,下面就简单说一下常用的方法 linux——windows 工具:winscp、SecureCRT、Zmodem(sz, rz) linux——linux 工具:scp、rsync (具体用法,参照man手册) 通用方法:Python快捷搭建http服务器 一、直 阅读全文
posted @ 2017-04-11 18:32 sxhlinux 阅读(1521) 评论(2) 推荐(0) 编辑
摘要: 一、inotify inotify是内核的一个特性,可以用来监控目录、文件的读写等事件,当监控目标是目录时,inotify除了会监控目录本身,还会监控目录中的文件。inotify的监控功能由如下的几个系统调用完成:inotify_init(2) (or inotify_init1(2)), inot 阅读全文
posted @ 2017-02-20 19:02 sxhlinux 阅读(1714) 评论(0) 推荐(0) 编辑