自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 lvs介绍

lvs是负载均衡较常用的软件之一,下面简单介绍一下lvs。lvs提供了一个命名的约定vip:虚拟ip地址,缩写是vip,vip是负载均衡器对外提供服务的ip。rip:真实ip地址,缩写是rip,rip是集群下面节点上使用的ip地址。dip:负载均衡器的真实ip,用于连接内外网络的ip。cip:客户端的ip地址,访问来源ip。lvs的工作模式有如下几种,直接路由(dr)模式、na

2016-03-07 14:32:59 1149

原创 mysql运维3--备份

先介绍一个mysql的备份命令mysqldump。语法:mysqldump -u 用户名 -p -B ‘密码’ 数据库名 -e “show varibles like '%character%'”|gzip>备份的文件名.sql.gz(备份多个库时,在数据库名位置指定多个库即可)参数:B 不加没有创建库的语句   e数据库命令 ,可以不加  gzip对导出数据进行压缩备份数据恢复:

2016-03-01 14:57:09 504

原创 mysql运维2--基本操作

先说一说mysql的启动:   启动过程:    /etc/init.d/mysqld start---检查端口---查看进程   使用mysqld启动其实内部会调用mysqld_safe脚本启动mysql,一般出故障时会直接调用mysql_safe脚本启动mysql,因为可以自己添加参数。(多实例用mysqld_safe启动)   关闭数据库:    /etc/init.d/

2016-03-01 09:08:24 438

原创 mysql运维1--mysql多实例

什么是mysql多实例?简答的说,就是在一台机器上开启多个不同端口,运行多个mysql进程,这些进程通过socket监听不同的服务端口来提供各自服务。这些mysql实例公用一套mysql安装程序,使用不同(可以相同)my.conf配置文件、启动程序、数据文件。多个实例根据自身配置文件对应的设定值来获取相关硬件资源。  多实例的配置方案,在mysql目录下按照不同端口区分不同实例,每个目录下都有

2016-02-29 15:54:04 852

原创 nginx反向代理--upstream模块

1.nginx负载均衡依赖于ngx_http_upstream_module模块,支持以下代理模式:proxy_pass:一般用于反向代理fastcgi_pass:一般用于和动态文件交互,php等memcached_pass:2.upstream模块编写upsrtream 模块名{     server abc.example.com weight=5;     可以接

2016-02-29 13:29:11 989

原创 nagios

nagios是较常用的监控软件之一,一般由一个主程序,一个插件程序(Nagios-plugins)和一些可选的附加程序(NRPE,NSCliet++,NSCA等)构成。其中附加程序安装在被监控端(客户端),nagios主程序安装在服务端,插件程序是实际工作的程序,可以自己编写,也可以使用现成模块,一般同时安装在间服务端与客户端。  下面介绍一下几个附加程序:   NRPE:安装在linux

2016-02-23 19:25:13 762

原创 redis

本节介绍一下redis,redis和memcached有些类似,不同的是可以把数据持久化,下面列举出redis几条优点。   1.性能高:redis能支持超过100K+每秒读写速率   2.丰富的数据类型:redis支持二进制的String,List,Hash,Set及Sorted set等数据类型操作。   3.原子操作:redis所有操作都是原子性的,同时redis还支持对几个操作

2016-02-23 09:22:30 347

原创 memcached

memcached在lamp时已经提到,这节详细介绍一下。memcached是一套数据缓存系统或者软件,主要用于动态应用系统中缓存数据库的数据,减少数据库访问压力或者session会话共享存储,通过预分配指定的内存空间来存取数据。memcached和数据库间关系如下图:menchached的配置文件请网上查询,memchched可以多实例,相当于启动多个应用程序,把部署完的shell写

2016-02-22 17:09:46 451

原创 lamp/lnmp优化4--CGI

先介绍一下什么是cgi,简单来说,cgi就是web服务器和应用程序中间连通的一个工具,fastcgi是cgi的优化。简单介绍一下fastcgi,  1.fastcgi是http server 和动态脚本语言间通讯的接口或者工具。  2.fastcgi优点是把动态语言和httpserver分离。  3.nginx和lighttpt以及多数动态语言都支持fastcgi。  4.fast

2016-02-22 10:36:26 403

原创 lamp/lnmp优化3--php.ini

这一章说一说php引擎的优化。1.php缓存加速,请参考前面的文章。2.使用tmpfs作为缓存加速文件目录3.php.ini参数调优3.1打开php安全模式方法:safe_mode=on3.2用户组安全方法:safe_mode_gid=off3.3关闭危险函数,以禁用system函数为例方法:disable_functions=system3.4关闭php版

2016-02-20 20:52:40 406

原创 lamp/lnmp优化2--nginx

lamp或者lnmp架构优化之web,先说nginx的优化。1.隐藏nginx header内版本号信息。方法:在http标签内 加入 server_tokens off;2.更改nginx默认用户和用户组。nginx服务启动默认用户为nobody,为了防止别人知道,我们可以改为别的用户名。方法:我们可以在编译时候指定用户名和用户组,之后把这个用户shell设置为nologin。如

2016-02-20 17:45:09 458

原创 lamp/lnmp优化1--缓存

关于lamp和lnmp组合就不多提了,lamp主要是apache+php(libphp5.so),lnmp主要是nginx+php(fcgi php-fpm),这里主要介绍一下对php进行优化,对应一个主配置文件进行优化,就是php.ini。   为什么需要缓存,因为php是一个解释型语言,每次请求都会从头解析程序,将其编译为特定操作码,之后由php引擎执行并且丢弃掉。有了缓存之后就可以保存这

2016-02-20 11:10:28 1621

原创 细说python类3——类的创建过程

先来介绍一下python的__call__函数,call的作用是什么呢?举个例子来说明一下:>>> class A(object):...   def __init__(self):...     print 'a'...   def __call__(self):...     print 'call'... >>> a=A()a>>> a()call

2016-01-27 18:37:24 5385 1

原创 细说python类2——类动态添加方法和slots

先说一下类添加属性方法和实例添加属性和方法的区别,类添加属性属于加了一个以类为全局的属性(据说叫静态属性),那么以后类的每一个实例化,都具有这个属性。给类加一个方法也如此,以后类的每一个实例化都具备这个方法(但是据说叫动态方法。)但是给实例加一个属性,作用域就是这个实例,是与类没关系的(据说这种属性叫动态属性)。python类的实例可以动态的添加属性。举个例子,声明一个类A>>> cl

2016-01-27 16:05:54 2317

原创 细说python类1——经典类和新式类

python中的类分为新式类和经典类,具体有什么区别呢?简单的说,1.新式类都从object继承,经典类不需要。2.经典类继承深度优先,经典类继承广度优先。3.新式类相同父类只执行一次构造函数,经典类重复执行多次。下面举个例子说明一下。有类A、B、C、D、E,B、C继承A,D继承B、C,E继承D、A。先从经典类说起,代码如下:class A:  def __init__(s

2016-01-27 14:31:41 2130

转载 django中的ajax实现(GET)

如果看过Jquery的ajax文档,很容易在各平台使用他们,ajax也不算是什么新鲜的事了,在Django中结合Jquery使用Ajax,让Django开发的应用发挥更好的用户体验,同时降低服务器的负担,也不是难事。来看Jquery下Ajax的使用说明,http://api.jquery.com/category/ajax/,哗,有十几个函数,如果想更生动学习,请移步到lulu studio:

2015-08-10 16:45:42 1256

转载 Django中的request.GET和request.POST

Django的views.py中定义的函数的requst参数,可以读request.method确定是POST还是GET首先,request.GET 和 request.POST是两个对象,类字典对象,提供和字典类似的接口,也有一些别的接口。什么是POST和GET,这与HTTP协议有关:参考这篇博客:http://blog.csdn.net/gideal_wang/arti

2015-08-10 16:33:47 44069

原创 django学习笔记之登录

在测试admin成功之后我开始写web的第一个功能,登录。顺序如下:1.首先在url里面添加登录,我把登录的文件放在account.py下面,所以url写为:url(r'^accounts/login/$', 'sys_pm.account.userlogin',name='userlogin'),这里的name参数为此条url的别名,当你想引用这条url时候,只需要action={% url

2015-08-05 14:24:43 393

原创 django学习笔记之开发功能之前的准备

在django功能开发之前,我们需要设定各种需要用到的环境变量。在setting里比较常使用的几项就是MEDIA_ROOT,MEDIA_URL,STATIC_ROOT,STATIC_URL等几项。static设置的是静态的文件,比如css,js等。media放置的是媒体文件。对于static可以放在一起,也可以单独设置目录,目录设置如下:STATICFILES_DIRS = (   

2015-08-04 14:47:27 421

原创 django学习笔记之(model设计与实现)

最近一直学习django中,正巧有一个项目给我练手,从今天开始记录一下过程。django中设计model是写web最开始的任务,话不多说,此处就遇到问题记录一下:1.类的顺序问题。因为python是解释型语言,所以类的顺序是有一定规律的,一定要把没有依赖的类写在前面,否则会报错。2.类之间关系的设计。在django中,一共定义了三种类之间的关系,多对多,多对一和一对一。此处说一下多对一

2015-08-04 12:28:22 1094

原创 替换文件内容

前几天无意间看见一道题,内容大致是这样的。有一个文件,里面内容是这样的格式1 aa2 bb3 cc4 dd现在想插入3 ee,如果存在3 那么把后面内容换成新内容,如果不存在则添加一行。一开始我是这么写的tmp=[]with open('1','r') as fd:        lock=0        a=fd.readlines()

2015-05-19 13:37:03 447

原创 python cook book第三版 读书笔记4(第四章,迭代器和生成器)

使用迭代器4.2迭代代表,本节列举了一般在构造迭代器时候,在类里面加入__itrr__()方法>>> class Node:...     def __init__(self,value):...             self._value=value...             self._children=[]...     def __repr__(self):

2015-05-05 10:58:25 848

原创 python cook book第三版 读书笔记3(第三章)

本章是对数字数据和时间的处理。3.1修改数字使用round函数,类似于我们平时使用的四舍五入,保留小数点后几位。>>> round(1.23,1)1.2>>> round(-1.27,1)-1.3对于整数,可以使用round取整>>> a=1627731>>> round(a,-1)1627730.0>>> round(a,-2)1627700.0

2015-05-05 09:53:19 622

原创 python cook book第三版 读书笔记2(第二章)

2.1用不同的分隔符分割字符串,这节主要讲了re模块里面的split()方法,因为字符串分割符可能有多种,可以用正则表达式进行匹配,如果有一种使用字符串下的split()方法即可。>>> import re如果用[ ]将正则表达式括起来,则分割后不包含分隔符>>> re.split(r'[;,\s]\s*',line)['asdf', 'ffgh', 'fvf', 'tgtrh

2015-04-28 10:06:02 570

原创 python cook book第三版 读书笔记1(第一章)

因本人看的英文版,为自己翻译,不准确处见谅。1.1把序列拆开赋值到变量里,可能本人翻译比较别嘴,但意思就是下面这样>>> p=(4,5)>>> x,y=p>>> x4>>> y5>>> data=['alice',50,91.1,(2012,12,21)]>>> name,shares,price,data=data>>> name'alice'

2015-04-27 10:10:19 681

原创 python cookbook 读书笔记3(字符串处理3)

1.11检查字符串是文本还是二进制,这个还可以用做别的,但是思路都一样。>>> from __future__ import division#确保不会截断>>> import string>>> text_characters=''.join(map(chr,range(32,127)))+'\n\r\t\b'>>> _null_trans=string.maketrans(''

2015-04-24 15:48:54 368

原创 python cookbook 读书笔记2(字符串处理2)

1.8检查字符集中是否包含某字符集中的字符一般的这么写>>> def containAny(seq,aset):...     for c in seq:...             if c in aset:return Ture...     return False...>>> a=['ee','etg4','g4g']>>> b=['f3f','34f43

2015-04-23 17:30:52 502 1

原创 python cookbook 读书笔记1(字符串处理1)

今日开始阅读python cook book,学习内容记录一下。1.1对于字符串处理,可以将字符串变成一个列表

2015-04-23 14:35:30 419

函数指针申请与使用

c语言函数指针的申请使用,有普通定义以及typedef定义

2013-06-04

c语言二维动态数组

用malloc申请的二维动态数组,简单的申请空间使用例子。

2013-06-04

空空如也

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

TA关注的人

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