![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux应用程序之-nginx服务器分析
bingqingsuimeng
这个作者很懒,什么都没留下…
展开
-
nginx源码分析(2)- 概览
源码分析是一个逐步取精的过程,最开始是一个大概了解的过程,各种认识不会太深刻,但是把这些真实的感受也记录下来,觉得挺有意思的,可能有些认识是片面或者是不正确的,但可以通过后面更深入细致的分析过程,不断的纠正错误和深化理解。源码分析是一个过程,经验是逐步累积起来的,希望文字可以把这种累积的感觉也准确记录下来。现在就看看对nginx源码的第一印象吧。源码包解压之后,根目录下有几个子转载 2013-05-17 14:11:11 · 779 阅读 · 0 评论 -
[UNIX域Socket抽象命名空间(abstract_namespace)]
unix域 socket在*nix下是一种很受欢迎的IPC,不过有个小问题,它bind之后,会在文件系统中留下一个文件,然后再close之后文件却不会自动消失,这就导致下一次bind会失败,所以unix域socket的bind通常有个ulink凑热闹。另一个问题是,这个文件很容易被其他程序不经意中删除,这导致很奇怪的问题,而很难发现。下面要说的是如何在unix域socket中不使用文件系统转载 2013-09-27 09:13:36 · 6934 阅读 · 0 评论 -
在Linux下的进程资源的限制(struct rlimit)详解
在Linux下的进程资源的限制(struct rlimit)详解在Linux系统中,Resouce limit指在一个进程的执行过程中,它所能得到的资源的限制,比如进程的core file的最大值,虚拟内存的最大值等。Resouce limit的大小可以直接影响进程的执行状况。其有两个最重要的概念:soft limit 和 hard limit。struct rlimit转载 2013-09-29 16:09:06 · 19146 阅读 · 0 评论 -
linux下使用多线程的fork和system会出现问题
根据我的经验,linux下使用pthread库写多线程程序时,在调用系统调用/库函数方面,应注意至少如下几点:1、创建了线程后,不要再使用fork()/vfork()创建子进程2、尽量不使用signal机制3、... 关于1,有个具体的教训。我实现了一个动态库,该库的功能在一个独立线程里运行。同事A实现了另一个动态库,库的功能在也一个独立线程里运行。这两个库转载 2013-09-29 14:08:55 · 6565 阅读 · 3 评论 -
如何设置LINUX下的环境变量
LINUX我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题。什么是环境变量?如何定制环境变量?我将在下面做一些介绍。一、什么是环境变量?Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。二、定制环境变量 环境变量是和She转载 2013-08-09 10:30:40 · 714 阅读 · 0 评论 -
linux 文件 Cache 管理
、文件 Cache 相关数据结构 在 Linux 的实现中,文件 Cache 分为两个层面,一是 Page Cache,另一个 Buffer Cache,每一个 Page Cache 包含若干 Buffer Cache。内存管理系统和 VFS 只与 Page Cache 交互,内存管理系统负责维护每项 Page Cache 的分配和回收,同时在使用 memory map 方式访问时负责建转载 2013-07-29 13:05:51 · 1489 阅读 · 0 评论 -
intptr_t 其实不是指针类型
|字号 订阅intptr_t 其实不是指针类型分类: C语言 2012-04-23 17:26 336人阅读 评论(0) 收藏 举报 最近在看nginx源码,看到有一个类型intptr_t,没有见过,google了一下,有人说是指针类型,但是看nginx源码中对该类型变量的使用,好像不是指针类型。[cpp] view plaincopys转载 2013-07-05 09:46:34 · 1068 阅读 · 0 评论 -
HTTP请求模型和头信息
一、连接至Web服务器 一个客户端应用(如Web浏览器)打开到Web服务器的HTTP端口的一个套接字(缺省为80)。 例如:http://www.myweb.com:8080/index.html在Java中,这将等同于代码:Soceet socket=new Socket("www.myweb.com",8080);InputStream in=socket.getI转载 2013-07-05 15:14:16 · 799 阅读 · 0 评论 -
交叉编译几种常见的报错
由于是第一次交叉编译,不知道会出现什么问题,思路就是先把gcc和ld都改成arm的,然后遇到什么问题在解决什么问题,以下过程都是在这个思路下进行。 1.指定arm的编译器和连接器: 只是把gcc改为arm-none-linux-gnueabi-gcc,ld改为arm-none-linux-gnueabi-ld,其他的都没有修改。出现以下错误: arm-none-linux-gn转载 2013-06-27 14:18:27 · 4042 阅读 · 0 评论 -
反向代理服务器
通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问转载 2013-06-09 10:10:33 · 787 阅读 · 0 评论 -
Nginx源码剖析之内存池,与内存管理
作者:July、dreamice、阿波、yixiao。出处:http://blog.csdn.net/v_JULY_v/。引言 Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口转载 2013-06-08 11:37:09 · 873 阅读 · 0 评论 -
那年,一步一步学linux c ---sigprocmask 阻塞进程
本系列文章由muge0913编写,转载请注明出处:http://blog.csdn.net/muge0913/article/details/73347711、有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。这种情况是通过阻塞信号实现的。 2、信号阻塞和忽略信号的区别转载 2013-06-08 16:29:00 · 1435 阅读 · 0 评论 -
进程通信:管道(pipe)和 unix域套接字(socketpair)区别
管道pipe是半双工的,pipe两次才能实现全双工,使得代码复杂。socketpair直接就可以实现全双工socketpair对两个文件描述符中的任何一个都可读和可写,而pipe是一个读,一个写详间代码:一:pipe实现父子进程全双工通信:[cpp] view plaincopy#include #include转载 2013-06-08 13:39:31 · 6818 阅读 · 0 评论 -
Linux系统内核文件Cache管理机制简介
1 、前言 自从诞生以来,Linux就被不断完善和普及,目前它已经成为主流通用操作系统之一,使用得非常广泛,它与 Windows、UNIX一起占据了操作系统领域几乎所有的市场份额。特别是在高性能计算领域,Linux已经成为一个占主导地位的操作系统,在2005年6月全球TOP500 计算机中,有 301 台部署的是 Linux 操作系统。因此,研究和使用Linux 已经成为开转载 2013-05-27 10:45:49 · 1177 阅读 · 0 评论 -
nginx架构图
12转载 2013-05-16 17:35:40 · 3019 阅读 · 0 评论 -
多线程和多进程的区别(小结)
分类: linux2009-06-19 09:33 37142人阅读 评论(24) 收藏 举报多线程linuxsemaphoresystemlinux内核signal很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进转载 2013-09-29 14:47:51 · 1466 阅读 · 0 评论