自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 LVS:DR模式(Direct Routing)部署实验

本文介绍如何在kvm的虚拟环境下,部署实验LVS的DR模式。包括网络结构图,如何配置,以及使用tcpdump分析ip包。

2014-07-18 01:00:47 1803 1

原创 linux路由服务

本文介绍如何使用linux创建一台简单的路由服务器。主要包括几个参数的设置:ip_forward和rp_filter。

2014-07-18 00:40:49 1411 1

原创 python处理中文字符

1.在py文件中使用中文字符unicode.py文件内容如下所示:# -*- coding:utf-8 -*-str_ch = '我们women'uni_ch = u'我们women'print "type:", type(str_ch), "content:", str_ch, repr(str_ch)print "type:", type(uni_ch), "conten

2013-08-20 18:17:07 1536

原创 nginx配置数据结构及合并过程

配置数据结构的创建过程初始化cycle->conf_ctxngx_init_cycle()函数中根据nginx模块的数量ngx_max_module创建一个指针数组,如下。每个指针成员,对应nginx模块的配置数据结构。cycle->conf_ctx = ngx_pcalloc(pool, ngx_max_module * sizeof(void *));NGX_COR

2013-05-22 17:14:17 1761

原创 Nginx配置文件处理过程

本文总结这段时间阅读Nginx处理配置文件的代码。其中很多参考网上的资料,主要时淘宝的那一份。现在,算是有个大体的了解了。先记录下来,以后有加深的认识,再继续补上。加油!一、配置文件处理的主要步骤和过程nginx.c文件main函数 ngx_max_module = 0; for (i = 0; ngx_modules[i]; i++) { n

2013-05-16 11:53:19 1164

原创 socket编程缓冲区大小对send()的影响

1. 概述Socket编程中,使用send()传送数据时,返回结果受到以下几个因素的影响:• Blocking模式或non-blocking模式• 发送缓冲区的大小• 接收窗口大小本文档介绍通过实验的方式,得出(收发)缓冲区大小对send结果的影响。实验使用C语言。2 数据发送和接收的过程如下图所示,程序调用send()发送数据时,数据将首先进入发送缓冲区,等待发送。系

2013-04-11 18:57:46 15082 1

转载 nginx模块开发入门:hello

转载自Joshua Zhu的博客:http://blog.zhuzhaoyuan.com/2009/08/creating-a-hello-world-nginx-module/1. 下载nginx源码,解压。2. 创建hello模块目录及文件目录结构如下:~/ngx_http_hello_module    |--ngx_http_hello_module.c

2013-04-07 15:14:17 889

原创 socket编程:backlog值对listen连接状态的影响

1. 概述对于TCP服务器,使用bind绑定一个地址和端口,然后使用listen(backlog)在这个socket上监听用户的连接请求。其中,backlog参数的大小,决定了TCP服务器的连接请求队列大小,进一步影响客户端连接请求的成功与否。本文档介绍通过实验的方式获得不同backlog参数值的不同影响。实验使用Python语言。2 socket连接建立过程2.1 服务器监听端口

2013-03-28 19:02:59 4929

原创 文件锁

1. sample学习代码#include #include #include #include #include #include #define read_lock(fd, offset, whence, len) \ lock_reg((fd), F_SETLK, F_RDLCK, (offset), (whence), (len))#define

2013-03-28 00:45:26 773

原创 非阻塞io和IO多路转接

本文参考《Unix高级环境编程》,仅用于个人学习,备忘。1. sample 学习代码#include #include #include #include #include #include #include #define MAXLINE 500000void set_fl(int, int);void clr_fl(int, int);intmain(v

2013-03-22 07:50:35 1085

原创 sax模块处理xml

sax的简单用法sax (Simple API for XML), 以事件处理为基础,按照遇到XML元素的顺序读取XML文档,触发处理函数来执行处理。为此,我们需要定义自己的处理器(Handler),定义遇到XML元素时,执行什么样的处理动作。如startElement()方法,定义了遇到开始tag时,应该做些什么。以下是示范代码:from xml.sax import Con

2013-03-21 13:40:10 986

原创 ElementTree处理xml

1. 示例用法参照官方文档,创建country_data.xml测试文档,内容如下: 1 2008 141100 4 2011 59900 68 2011

2013-03-20 18:42:14 11174

转载 XML基础知识

大部分内容来自http://www.w3schools.com。本文主要是个人学习笔记,将替代手写的笔记。以此记录自己的学习过程,记录不懂的,可以逐渐增加新知识点。What is XML?XML stands for EXtensible Markup LanguageXML is a markup language much like HTMLXML was de

2013-03-20 17:59:57 877

原创 python: import模块的相关问题

1. 使用imp.load_module时遇到"ImportError: No module named PAD"异常文件的目录结构如下:|--test.py  |--plugins             |--__init__.py             |--PAD.py             |--WEB.py     #包含“import PAD"当在te

2013-03-14 17:26:11 3189

原创 git使用介绍(一)

1. 如何使用GitHub执行“git remote add origin https://github.com/username/projectname.git",将GitHub的repository链接保存到本地的config中。对于新建的repository,当执行”git clone https://github.com/username/projectname.git“时,这个链

2013-03-14 16:15:55 602

原创 python标准库logging模块代码分析

问题1:如何获取caller的(文件名,行号,函数名)?      当新增一条log记录时,最终将调用Logger类的_log方法,这个方法首先会创建一个LogRecord对象。LogRecord对象需要(filename, lineno, funcname)参数信息。这是通过如下语句得到的:fn, lno, func = self.findCaller()     fi

2013-03-11 12:47:33 1452

原创 typedef重定义错误

记录一个问题。Item.h文件:typedef int Item;Link.h文件:#include "Item.h"void LINKinit(int);Link.c文件:#include "stdio.h"#include "Link.h"#inlcude "Item.h"void LINKint(int n){

2013-01-10 10:23:08 8078

原创 Unittest使用和代码简介

前段时间有学习过unittest这个模块,但是,没有熟练使用,还是存在好多疑问。今天又重新花时间学习,比较彻底的搞清楚了。记录下来,希望对那些有同样疑问的人,有些帮助。首先,介绍以下unittest的基本用法。第1种用法(以下代码是官方文档的sample)。import unittestclass TestSequenceFunctions(unittest.TestCase)

2012-12-31 08:24:08 3641

原创 optparse模块代码分析

optparse是标准库里用于分析命令行参数的模块(路径:/usr/lib/python2.x/optparse.py, x86-64版本的系统在lib64下)。使用它,可以让自己的程序方便地获得命令行参数,无需再自己处理了。至少也是让程序更标准化。本文首先简单介绍optparse的使用,详细用法请参照官方文档介绍。接着,详细地分析optparse如何实现这些功能的,optparse的代码结构是什

2012-12-22 22:42:59 2596 1

原创 使用wsgi模块将Django加于apache

1. WSGI模块的编译和安装:首先,从code.google下载mod_wsgi-3.4.tar.gz源码包。解压并进入目录运行"./configure --with-apxs=/usr/local/apache2/bin/axps  --with-python=/usr/local/bin/python",其中这两个with分别用于制定apache安装文件的axps路径,和python

2012-11-26 23:53:14 3075

原创 django初步

因为有任务要修改django框架的页面,所以这两天开始着手了解django。时间不多,每天最多只能抽2个小时。目标很简单:在周五下班前知道怎么改,下周达到效果。希望通过这两个礼拜的时间对django框架有个大致的认识。1.从官网下载最新版本1.4。解压后进入目录,执行“python setup.py install”,完成安装。2.创建Project(我理解为一个站点)

2012-11-13 23:47:26 541

原创 openstack初步

今天花了半天多的时间完成openstack的安装,可以通过dashboard访问了。但是内部的大多数实际的功能还没有实现,我现在也不懂具体的原理和操作。基本上,是照着别人的方法,一步一步地做,但是还是遇到了不少问题。主要的问题是账户,密码,token,这些都和keystone有关,openstack的组件nova,glance都是通过keystone确认user和password。刚开始不清楚

2012-11-10 02:55:07 13064 2

原创 php+MySQL编程一

使用mysqli_connect链接MySQL使遇到如下错误:“Fatal error: Call to undefined function mysqli_connect() ”网上找了下原因,发现是因为我的php编译是没有 --with-mysqli=/usr/local/mysql/bin/mysql_config,所以php找不到mysqli_connect这个方法。直接使用m

2012-11-09 00:28:52 603

原创 完成LAMP架设

首先,.昨天晚上,将apache源码包下载,编译,安装。使用默认配置。已经可以工作。1.源码包解压,进入该目录下2.执行以下命令: ./configure --prefix=/usr/local/apache2 --with-included-apr 注:--prefix选项制定安装路径。 --with-included-apr制定使用源码包内绑定的apr,不用这个参数可以使用--wi

2012-11-08 00:35:35 376

原创 着手LAMP,从零开始

知道LAMP是什么。但是没玩过,并不清楚到底是怎样的。所以,花些时间熟悉它们,这样才能知道数据库到底是怎么用于web的。我把重点放在数据库上面,同时,我需要对整个应用场景有个印象。计划2周时间(周一至周五晚上)了解这个体系,参照《PHP and MySQL web development》这本书上的实例。为什么要这么做?因为我最近在做web日志分析的工作,到现在我才发现,自己对web站点产生日

2012-11-07 00:12:54 392

原创 AWStats使用

AWStats是使用perl语言编写的web log分析工具。1.安装从官网下载tar文件,解压至/usr/local/awstats/2.初始化配置切换目录至/usr/local/awstats/tools下,执行以下命令:perl awstats_configure.pl这个配置脚本执行的过程中,需要用户回答一些设置问题。awstats_configure.pl会修

2012-10-17 15:58:53 929

原创 Plymouth文本模式启动画面修改

1.Plymouth源代码目录介绍源码包里最重要的就是src这个目录,这是程序的源代码目录。下面将介绍src目录的内容,src目录的主要内容如下所示。这里只列举出了与文本模式启动显示相关的主要文件,并非全部。./src  ├── client   │   ├──plymouth.c             # plymouth客户程序  ├── libply  │

2012-09-28 16:57:22 3545 4

空空如也

空空如也

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

TA关注的人

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