自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

转载 nginx源码分析—模块及其初始化(二)

ontent0. 序1. nginx有哪些模块?2. nginx如何描述这些模块?2.1 模块数据结构2.1.1 ngx_module_t结构2.1.2 ngx_command_t结构2.2 模块类图3. nginx如何组织这些模块?3.1 全局数组ngx_modules3.2 模块组织结构图4. nginx的

2015-10-30 12:08:19 550

转载 nginx源码分析—队列结构ngx_queue_t

Content0. 序1. 队列结构2. 队列操作2.1 在头节点之后插入2.2 在尾节点之后插入2.3 删除节点2.4 分割队列2.5 链接队列2.6 获取中间节点2.7 队列排序2.8 如何获取队列节点数据3. 一个例子3.1代码3.2如何编译3.3 运行结果4.小结

2015-10-30 09:55:12 513

转载 nginx源码分析—链表结构ngx_list_t

Content1.链表结构1.2 ngx_list_t的逻辑结构2.1创建链表3.一个例子3.2如何编译4.小结0. 序 本文继续介绍nginx的容器——链表。链表实现文件:文件:./src/core/ngx_list.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.

2015-10-30 09:19:53 506

转载 nginx 模块的加载与初始化

一、执行configure./configure 自动脚本根据configure参数自动生成ngx_modules.c,里面包含了所有模块的声明,并把所有模块维护在ngx_modules[]数组里面。./configure \  --prefix=/usr \  --sbin-path=/usr/sbin/nginx \  --conf-pa

2015-10-29 16:42:17 2872

转载 nginx源码分析—内存池结构ngx_pool_t及内存管理

Content0. 序1. 内存池结构1.1 ngx_pool_t结构1.2 其他相关结构1.3 ngx_pool_t的逻辑结构2. 内存池操作2.1 创建内存池2.2 销毁内存池2.3 重置内存池2.4 分配内存2.4.1 ngx_palloc()函数分析2.4.2 ngx_palloc_block(

2015-10-29 16:13:32 452

转载 nginx源码分析—数组结构ngx_array_t

ntent0. 序1. 数组结构1.1 ngx_array_t结构1.2 ngx_array_t的逻辑结构2. 数组操作2.1 创建数组2.2 销毁数组2.3 添加1个元素3. 一个例子3.1 代码3.2 如何编译3.3 运行结果4. 小结0. 序本文开始介绍nginx的

2015-10-29 11:35:58 368

转载 TCP_DEFER_ACCEPT设置

1. 设置TCP_DEFER_ACCEPTint val = 10;  // time_outif (setsockopt(sock_descriptor, IPPROTO_TCP, TCP_DEFER_ACCEPT, &val, sizeof(val))== -1){perror("setsockopt");exit(1);}2. TCP_

2015-10-29 11:15:43 545

转载 关于CPU Cache和Cache Line

为什么要有CPU Cache随着工艺的提升最近几十年CPU的频率不断提升,而受制于制造工艺和成本限制,目前计算机的内存主要是DRAM并且在访问速度上没有质的突破。因此,CPU的处理速度和内存的访问速度差距越来越大,甚至可以达到上万倍。这种情况下传统的CPU通过FSB直连内存的方式显然就会因为内存访问的等待,导致计算资源大量闲置,降低CPU整体吞吐量。同时又由于内存数据访问的热点集中性,在C

2015-10-29 10:20:10 7633

原创 循环冗余校验检错方案CRC的原理介绍

循环冗余校验检错方案CRC1. CRC校验原理    CRC校验原理看起来比较复杂,好难懂,因为大多数书上基本上是以二进制的多项式形式来说明的。其实很简单的问题,其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注意,这里的数也是二进制序列的,下同),生成一个新帧发送给接收端。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端

2015-10-29 09:16:45 6278

转载 解剖Nginx·自动脚本篇

剖 Nginx ·自动脚本篇(1)解析配置选项脚本 auto/optionsAuthor: PoechantBlog: blog.CSDN.net/PoechantEmail: zhongchao.ustc#gmail.com (#->@)Date: March 4th, 2012Copyright © 柳大·Poechant在安装Nginx之前(即运行make脚本之前),首先是进

2015-10-28 16:59:51 829

转载 Linux下environ环境变量操作函数

Linux下environ环境变量操作函数#include int main(int argc,char *argv[],char **envptr){  int i=0;  for(i=0; envptr[i]!=NULL; i++)   printf("%s\n",envptr[i]);    return 0;}main函数是程序的入口函数

2015-10-28 16:28:55 626

转载 Nginx 内存池(pool)分析

Nginx 内存池管理的源码在src/core/ngx_palloc.h、src/core/ngx_palloc.c 两个文件中。先将我整理的注释等内容贴上,方便下面分析:ngx_create_pool:创建poolngx_destory_pool:销毁 poolngx_reset_pool:重置pool中的部分数据ngx_palloc/ngx_pnalloc:从pool中分配

2015-10-28 16:07:34 342

原创 nginx的时间管理

nginx出于性能考虑采用类似lib_event的方式,自己对时间进行了cache,用来减少对gettimeofday()的调用,因为一般来说服务器对时间的精度要求不是特别的高,不过如果需要比较精确的timer,nginx还提供了一个timer_resolution指令用来设置时间精度,具体的机制再后面会做介绍。在ngx_times.c中提供了ngx_time_update()函数来更新时间缓存,

2015-10-28 10:12:54 878

转载 linux动态编译和静态编译

为了使用方便,可以把这两个函数接口定义为动态链接库或静态链接库。用动态链接库编译生成的可执行文件需调用.so文件方可正常运行,灵活但稍显麻烦;用静态链接库编译生成的可执行文件可直接运行,不用再调用如.so般的依赖库文件,简单但不灵活。静态链接库:1、编译生成目标文件gcc -c struct.c2、创建静态库ar cqs libstruct.

2015-10-28 08:57:38 433

转载 X86之操作系统之DPL,RPL,CPL

1、DPL,RPL,CPL 之间的联系和区别是什么?RPL和CPL是必须相同吗?如果相同,为什么要采用两个而不改用一个呢?答:特权级是保护模式下一个重要的概念,CPL,RPL和DPL是其中的核心概念,查阅资料无数,总结如下:简单解释:CPL是当前进程的权限级别(Current Privilege Level),是当前正在执行的代码所在的段的特权级,存在于cs寄存器的低两位。

2015-10-27 14:59:56 2419

转载 保护模式下三个重要的系统表——GDT、LDT和IDT

护模式下三个重要的系统表——GDT、LDT和IDT这三个表是在内存中由操作系统或系统程序员所建,并不是固化在哪里,所以从理论上是可以被读写的。这三个表都是描述符表。描述符表是由若干个描述符组成,每个描述符占用8个字节的内存空间,每个描述符表内最多可以有8129个描述符。描述符是描述一个段的大小,地址及各种状态的。   描述符表有三种,分别为全局描述符表GDT、局部描

2015-10-27 14:31:06 2649

转载 Intel CPU的保护模式简介

Intel CPU的保护模式简介(一)保护模式x86有三种工作方式:实模式,保护模式和虚拟x86模式。尽管实方式下x86的功能要大大超过其先前的处理器(8086/8088,80186,80286),但只有在保护方式下, x86才能真正发挥更大的作用。在保护方式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间;扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共享和保

2015-10-27 13:58:34 3133

转载 CentOS6 启动流程图文解剖

们在使用Linux操作系统的时候,我们只需按下电源键,等待,然后输入账户和密码就可以使用Linux操作系统了。那么在按下电源到输入账号和密码之前,操作系统都做了些什么?下面就来讲述在这段时间发生的动作。下面以CentOS6系列为例来讲解Linux的启动流程。一、Linux启动流程详解下图就是启动流程的大致过程:二、POST加电自检POST(Power

2015-10-27 10:39:50 410

转载 几个重要的RedHat Linux内核文件介绍

在网络中,不少服务器采用的是Linux系统。为了进一步提高服务器的性能,可能需要根据特定的硬件及需求重新编译Linux内核。编译Linux内核,需要根据规定的步骤进行,编译内核过程中涉及到几个重要的文件。比如对于RedHat Linux,在/boot目录下有一些与Linux内核有关的文件,进入/boot执行:ls –l。编译过RedHat Linux内核的人对其中的System.map 、vm

2015-10-23 17:26:02 270

原创 为什么嵌入式系统需要具有实时操作系统的特性?

并非所有的嵌入式系统都需要实时操作系统,只有在一些特定的场合,对时间比较敏感的应用才会使用实时操作系统。实时操作系统必须及时响应所要求的任务,在限定时间内完成任务。非实时的操作系统,多时间不是很敏感,对所要求的任务只是会保证完成,但在什么时候完成,或用多长的时间完成就不一定了。例如:手机它不需要实时性。我们发短信时,系统对它的处理早1秒或者晚1秒都不会影响到我们的使用。而对于导弹这样的应用必须具有

2015-10-23 16:56:47 1982

原创 Flash中启动Linux的方法

在测试过程中,可以通过at91rm9200内置的bootloader程序加载loader程序以及u-boot程序,然后通过强大的u-boot功能可以通过网络或者串口加载启动所需的linux kernel以及文件系统。当程序调试成功之后,需要将程序固化到Flash存储介质中,或者也可以采用网络启动的方法。最终不管采用本地Flash启动还是远程网络启动,其设计思想是保持一致的,下面对本地Flash(通

2015-10-23 10:47:36 1593

原创 grub启动流程及原理

GNU GRUB(简称“GRUB”,GRand Unified Bootloader)是一个来自GNU项目的多操作系统启动管理器,它允许用户可以在计算机内同时安装有多个操作系统,比如不同版本的Windows和Linux,并在计算机启动时选择希望运行的操作系统。Grub一直在发展,现在的发行版都用Grub 2了,但是基本的启动引导原理是差不多的,所以还是以传统的Grub为例(在CentOS 5.5上

2015-10-23 09:51:47 4489

转载 Linux内核加载全流程

作者:gfree.wind@gmail.com博客:blog.focus-linux.net   linuxfocus.blog.chinaunix.net  本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。=========================

2015-10-23 09:01:17 614

原创 Linux 基于WEB开源的系统管理工具webmin

Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以外还包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。Webmin 让您能够在远程使用支持 HTTPS (SSL 上的 HTTP)协议的 Web 浏览

2015-10-21 17:35:02 3364

原创 centos6 nginx 安装PHP

1、首先安装PHP的依赖文件 yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel2、其中

2015-10-21 15:22:31 422

转载 年入百万的表弟给我上一课:互联网思维该怎么接地气

“互联网思维”可以说是当下互联网行业最流行的名词,跟人聊天,不聊聊互联网思维你都不好意思说自己是业内人士。但是土妖相信其中绝大部分人只是嘴上说说而已,要是让其系统地阐述一下互联网思维,还真木有几个人能够说得清。按照度娘给出的解释,互联网思维是指,充分利用互联网的精神、价值、技术、方法、规则、机会,来指导、处理、创新工作的思维方式。这样一个学院派的概念看了跟没看一样,有木有?!恰好近

2015-10-20 17:26:31 621

转载 关于Apache与Nginx的优势比较

不断有人跟我说Nginx比Apache好、比Apache快之类。Nginx更主要是作为反向代理,而非Web服务器使用。我翻译过一本关于反向代理的技术书籍,同时精通Apache API开发,对Nginx和Apache的工作原理都略有了解,粗谈一下看法。  不管是Nginx还是Squid这种反向代理,其网络模式都是事件驱动。事件驱动其实是很老的技术,早期的select、poll都是如此。后来基于内

2015-10-20 16:30:08 396

原创 linux mount (挂载命令)详解

挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。 命令格式:mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 光盘或光盘镜像:iso9

2015-10-20 14:08:52 333

原创 硬链接和软链接的区别

硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。硬链接可由命令 link 或 ln 创建,如:12link oldfile newfile ln oldfile newfile由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode

2015-10-20 11:49:06 394

转载 menu.lst详解

打开终端,先备份一下:sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.backup然后输入:sudo gedit /boot/grub/menu.lst然后就可以看见很长很长的一段代码, 大家可以仔细看一下,里面带#号的都是解释性的文字,看懂后就知道该怎么修改了,这个因为我们设置安装的分区不同,所以修改后的文件

2015-10-20 11:02:53 3617

转载 Linux内核编译和安装

第一步:下载内核要编译内核就必须有新的内核,可以从Kernel官方网站www.kernel.org上下载最新的内核源码,解压,进入目录;第二步:清除垃圾这一步:一般是在就内核重新编译时使用,在编译新的内核是不需要;make clean及make mrproper;第三步:进行内核裁减配置内核裁减配置的原则: 从实际出发。 如:根据支持的硬件设备来决定需要选择的驱

2015-10-20 10:04:36 320

转载 CentOS内核编译

第一步:下载内核源码:      wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.gz然后解压进入到解压后的目录   # tar -zxvf linux-2.6.29.tar.gz  # cd /usr/src/linux-2.6.29第二步:开始编译 清理以

2015-10-19 16:24:53 548

转载 Linux系统 - 源码编译安装Nginx

安装说明系统环境:CentOS6、CentOS7、Red Hat6、Red Hat7软件:nginx-1.8.0.tar.gz其他所需软件:openssl-1.0.2d.tar.gz、pcre-8.37.tar.gz、zlib-1.2.8.tar.gz安装方式:源码编译安装 安装位置:/usr/local/nginx 下载地址:http://nginx.org/en/dow

2015-10-19 15:12:28 340

转载 linux DNS服务器配置

linux DNS服务器配置 基本理论:DNS系统的作用是把域名和IP对应起来。正向解析:根据域名(主机名)查找对应的IP地址。反向解析:根据IP地址查询对应的域名(主机名)。 查询递归查询:大多数客户机向DNS服务器解析域名的方式。迭代查询:大多数DNS服务器向其它DNS服务器解析域名的方式。 DNS服务器的类型缓存域名服务器:也称唯高速缓存服务器

2015-10-19 11:09:04 664

原创 Linux的路由和策略路由

1、 Linux路由的配置 IP Route   Linux最多可以支持255张路由表,其中有3张表是内置的:  表255本地路由表(Local table)本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。  表254主路由表(Main table)如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,旧的路

2015-10-19 09:10:49 7312

原创 linux GRE的加载与配置实例

拓扑图: 备注:因为应用原因,需要在linux2上添加一个公网地址,并且在中间路由设备不受控制的情况下,Linux1能访问到linux2上面的公网地址。2.基本接口配置:linux1:192.168.10.1/24linux2:192.168.20.2/24R1:interface FastEthernet0/0  ip address 192.16

2015-10-16 15:35:49 5625

原创 关于Linux 环回接口lo的IP地址修改

在一些应用中,我们通常需要修改本地的loopback接口地址。但linux lo接口的IP地址修改有些特殊。一般接口比如eth0, 我们可以采用vi /etc/sysconfig/network-scripts/ifcfg-eth0进行修改。但lo接口的IP地址,却无法通过vi /etc/sysconfig/network-scripts/ifcfg-lo来修改。你会发现,无论你在

2015-10-16 13:52:08 16501

转载 Lvs之NAT、DR、TUN三种模式的应用配置案例

LVS一、LVS简介    LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件之一。二、LVS的分类LVS-NAT:地址转换LVS-DR: 直接路由LVS-TUN:隧道三、ipvsadm用法其实

2015-10-16 10:11:06 2267

原创 centos5.4简单配置LVS-DR

OS:CentOS5.4 32bit安装时选择了集群组件,所以就使用这个自带的ipvsadm LVS Server:Eth0:192.168.1.43/255.255.255.0/192.168.1.254Eth0:1:192.168.1.40/ 255.255.255.255 (VIP) Real Server A:Eth0:192.168.1.44/255.25

2015-10-16 09:47:03 434

转载 LVS负载均衡教程

概括介绍Lvs负载均衡的基础知识lvs的开源特点引来众多的使用者,而其中的负载均衡的支持功能又是一个强有力的优势。那么我们现在就来对lvs负载均衡的基础知识做一个简要的概括性介绍。之前我们也有细化介绍了相关内容,还希望读者们能关注我们的专题栏目。一、lvs负载均衡转发模式及调度算法1、负载均衡转发模式包括直接路由模式DR、网络地址转换模式NAT以及隧道模式TUN

2015-10-16 09:21:14 833

690561nsnkzT/IOT_0601—2019电梯物联网系列标准-电梯无纸化维护保养数据格式和交换 2019 68页.pdf

本标准适用于曳引与强制驱动电梯、液压驱动电梯、杂物电梯、自动扶梯与自动人行道,其他品种电梯可参照本标准执行。

2020-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除