
技术随笔
文章平均质量分 63
ajaxuser
这个作者很懒,什么都没留下…
展开
-
Apache模块mod_rewrite详解
什么是mod_rewrite?mod_rewrite是一个基于一定规则的实时重写URL请求的引擎。此模块可以操作URL的所有部分,在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效。启用mod_rewrite模块#LoadModule rewrite_module modules/mod_rewrite.so 设置重写目录Options IndexesFollowSymLinksAllowOverride All封装一组指令,使之对某个目录及其子原创 2010-11-16 09:23:00 · 4021 阅读 · 0 评论 -
对 HTTP 304 的理解
304的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。如果客户端在请求一个文件的时候,发现自己缓存的文件有Last Modified,那么在请求中会包含 If Modified Since,这个时间就是缓存文件的La转载 2013-03-06 17:21:31 · 615 阅读 · 0 评论 -
缓存之memcached
memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。安装memcached服务器sudo原创 2010-09-26 15:35:00 · 541 阅读 · 0 评论 -
git服务端和客户端分支相同时,客户端提交的更新服务端无法生效解决方案
git服务端和客户端同在master分支,客户端提交往服务端提交内容,服务端无法生效。解决这个问题,需要在服务端新建一个分支,比如tmp分支,然后切换到tmp分支,让服务端的当前分支不在master分支上,这样客户端提交更新的时候,服务端的master分支里更新就可以生效了。原创 2011-12-01 19:04:15 · 1048 阅读 · 0 评论 -
Git配置
一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git转载 2011-06-10 15:48:00 · 610 阅读 · 0 评论 -
Git基础要点
那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了 Git 的思想和基本的工作原理,用起来就会知其所以然,游刃有余。在开始学习 Git 的时候,请不要尝试把各种概念和其他的版本控制系统诸如 Subversion 和 Perforce 等相比拟,否则容易混淆每个操作的实际意义。Git 在保存和处理各种信息的时候,虽然操作起来的命令形式非常相近,但它与转载 2011-06-10 14:53:00 · 2414 阅读 · 0 评论 -
关于版本控制
什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,而实际上,你可以对任何类型的文件进行版本控制。如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本。采用版本控制系统(VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将转载 2011-06-10 14:43:00 · 455 阅读 · 0 评论 -
详解Linux命令行下常用SVN命令
本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助。 1、Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、Linux命令行下往版本库中添加新的文件 svn add转载 2010-11-03 19:09:00 · 662 阅读 · 0 评论 -
Git用法
服务器配置$ cd project-directory#创建一个版本库$ git init #向索引中添加文件内容$ git add .#将更改提交到当地版本库中$ git commit -a -m ‘Initial commit’客户端配置#clone一个版本库到本地$ git clone repository-url$ cd project-dire原创 2010-10-21 17:58:00 · 4549 阅读 · 1 评论 -
java实现Thrift服务端和客户端
namespace java service.testservice Demo { string sayWord(1:string word)}DemoService.javapackage service.test;import org.apache.thrift.TException;import service.test.Demo.Iface;public c原创 2013-06-13 12:31:45 · 9526 阅读 · 0 评论 -
Thrift安装与使用
centos jdk6 php5.3以上 python2.6 thrift0.9.0让thrift支持java php python,所以要安装java php python(linux系统默认自带python)java: 安装JDK 和 ant (thrift安装时会检查 java javac ant等命令,ant命令要编译java的开发库)安装thriftyum原创 2013-06-04 12:26:04 · 9076 阅读 · 1 评论 -
对301、302的理解
301与302区别?301状态码指的是网页永久性的转移到另外一个位置302状态码指的是网页暂时转移到另外一个位置302重定向和网址劫持(URL hijacking)的关系?从定义来说,从网址A做一个302重定向到网址B时,服务器的隐含意思是网址A随时有可能改主意,重新显示本身的内容或转向其他的地方。大部分的搜索引擎在大部分情况下,当收到302重定向时,一般只要去抓取目标原创 2013-03-06 17:03:52 · 800 阅读 · 0 评论 -
Apache的启动阶段和运行阶段
Apache的运行分为启动阶段和运行阶段。1.启动阶段在启动阶段,Apache主要进行配置文件解析(例如httpd.conf以及Include指令设定的配置文件等)、模块加载(例如mod_php.so,mod_perl.so等)和系统资源初始化(例如日志文件、共享内存段等)工作。在这个阶段,Apache为了获得系统资源最大的使用权限,将以特权用户root(X系统)或超级管理员administrator(Windows系统)完成启动。php模块就是在这个阶段完成启动的。原创 2010-11-20 09:23:00 · 1251 阅读 · 0 评论 -
Apache显示和禁止目录列表
当一个映射到目录的URL被请求时,会先查找DirectoryIndex指令设置了文件,若一个也没有找到或没有设置DirectoryIndex,这就涉及到目录列表的问题了。如果要显示列表,配置如下:1.首先确定开启了mod_autoindex模块,这个模块的作用是自动对目录原创 2011-10-17 19:05:39 · 444 阅读 · 0 评论 -
Apache服务器提示无权访问
最近在CentOS上配置apache服务器,配置好后修改apache主配置文件 /etc/httpd/conf/httpd.conf将DocumentRoot修改为自己指定的目录,如/data/www然后重启httpd服务,访问相应地址,提示如下:ForbiddenYou don't have permission to access index.html on this serv原创 2011-07-08 18:40:09 · 7411 阅读 · 0 评论 -
Apache与浏览器之间的并发,连接,请求
并发(并发数量):就是apache的并发数量,更直接就是apache为了处理用户请求开启的进程数量,简单理解就是apache的进程数量。连接(TCP连接):apache和浏览器之间是通过TCP/IP协议进行通信的,这里的连接就是apache和浏览器之间的TCP连接。请求(浏览器的请求):apache服务器一直监听80端口,不会发起主动请求。而浏览器会向apache发起连接请求。这里讲的请求转载 2012-07-30 14:23:38 · 2772 阅读 · 0 评论 -
Apache工作模式prefork和worker的比较
选择prefork还是worker可以在编译时使用--with-mpm=MPM参数指定,默认为prefork.1.prefork.c模块(一个非线程型的、预派生的MPM)prefork采用预派生子进程方式,用单独的子进程来处理 不同的请求,进程之间彼此独立。在make编译和make install安装后,使用httpd -l来确定当前使用的MPM是prefork.c。prefo原创 2012-07-30 16:10:23 · 1256 阅读 · 0 评论 -
为什么Nginx的性能要比Apache高得多
这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。下面用一个比喻来解析Apache采用的转载 2012-07-30 17:48:04 · 3002 阅读 · 0 评论 -
缓存之APC
PHP APC,全称是Alternative PHP Cache,官方翻译叫"可选PHP缓存".APC的缓存分为两部分:系统缓存和用户数据缓存.系统缓存是自动使用的,是指APC把PHP文件源码的编译结果(opcodes)缓存起来,然后在再次调用时先对比时间,如果未过期,则使用缓存代码运行.可以使用apc.ttl来设置缓存时间。用户数据缓存,由用户在编写php代码时用apc_stor原创 2010-09-26 18:15:00 · 718 阅读 · 0 评论 -
varnish简介
varnish是一个HTTP加速器,被安装在web应用程序前面,用来缓存web应用程序并响应用户请求。1.配置backend servervarnish中有一个概念叫做后端服务器,varnish将缓存后端服务器的内容。编辑varnish默认配置文件/etc/varnish/default.vclbackend default { .host = "127.0.0.1"; .port原创 2011-10-27 10:55:10 · 616 阅读 · 0 评论 -
高可用的LVS负载均衡集群技术详解
最近在看《高性能Linux服务器构建实战》学习LVS相关的技术,将学习的知识做个笔记。一、LVS集群的组成利用LVS架设的服务器集群系统由3个部分组成:负载均衡层、服务器群组层、数据共享存储层。1.负载均衡层位于整个集群系统的最前端,有一台或者多台负载调度器(Director Server)组成.LVS核心模块IPVS就安装在Director Server上,而Director原创 2012-12-29 10:08:58 · 1093 阅读 · 0 评论 -
Nginx实现负载均衡
Nginx主要有两大功能,一种是作为web server(作为apache的替代方案),另外一种是作为反向代理服务器实现负载均衡。Nginx基于HTTP反向代理方式实现了第七层负载均衡功能,能够很好的支持虚拟主机。可以按轮询、IP哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。一、实验环境Nginx服务器ip:192.168.1.10原创 2013-01-02 15:21:33 · 939 阅读 · 0 评论 -
Thrift tutorial(python server and php client)
定义IDL文件hello.thriftstruct User { 1: string firstname 2: string lastname}exception UserException { 1: i32 error_code, 2: string error_msg}service UserManager { void ping(), string get_u原创 2012-02-22 19:06:15 · 4094 阅读 · 0 评论