Fatmouse

linux系统中使用Vim删除偶数行或者奇数行 Linux

linux系统中使用Vim删除偶数行或者奇数行

删除偶数行的方法如下:上面用到了:gbobal命令,gbobal命令格式如下:global命令实际上是分成两步执行:首先扫描[range]指定范围内的所有行,给匹配{pattern}的行打上标记;然后依次对打有标记的行执行{command}命令,如果被标记的行在对之前匹配行的命令操作中被删除、移动或合并,则其标记自动消失,而不对该行执行{command}命令。{command}可以是一个ex命令,也可以是用|分隔的多个ex命令,这样我们就可以对被标记行,或从标记行寻址到的行进行多种不同的操作。
Apache后缀名解析漏洞分析和防御方法 Linux

Apache后缀名解析漏洞分析和防御方法

我们都知道windows2003 + IIS6.0下,如果目录结构中有xxx.asp这样的目录,那么所有这个目录下的文件不管扩展名为什么,都会当作asp来解析。我们一般称这个漏洞为windows2003+iis6.0目录解析漏洞。但是大家可能不知道的是,apache服务器也存在类似的解析漏洞。
win2003下PHP使用preg_match_all导致apache崩溃问题的解决方法 Linux

win2003下PHP使用preg_match_all导致apache崩溃问题的解决方法

小编的平台是windows server 2003(32位系统) + Apache/2.2.9 (Win32) + PHP/5.2.17,在使用正则表达式 preg_match_all (如 preg_match_all("/ni(.*?)wo/", $html, $matches);)进行分析匹配比较长的字符串 $html 时(大于10万字节,一般用于分析采集回来的网页源码),Apache服务器会崩溃自动重启。     在Apache错误日志里有这样的提示: 代码如下:[Thu Apr 11 18:31:31 2013] [notice] Parent: child process exited with status 128 -- Restarting. [Thu Apr 11 18:31:31 2013] [notice] Apache/2.2.9 (Win32) PHP/5.2.17 configured -- resuming normal operations [Thu Apr 11 18:31:31 2013] [notice] Server built: Jun 13 2008 04:04:59 [Thu Apr 11 18:31:31 2013] [notice] Parent: Created child process 2964 [Thu Apr 11 18:31:31 2013] [notice] Disabled use of AcceptEx() WinSock2 API [Thu Apr 11 18:31:31 2013] [notice] Child 2964: Child process is running [Thu Apr 11 18:31:31 2013] [notice] Child 2964: Acquired the start mutex. [Thu Apr 11 18:31:31 2013] [notice] Child 2964: Starting 350 worker threads. [Thu Apr 11 18:31:31 2013] [notice] Child 2964: Listening on port 80.     经过查阅Apache官方以及论坛资料后,发现win平台下用正则 preg_match_all 或preg_match 分析比较长的字符串时,导致apache崩溃重启的原因是windows平台下默认分配的线程堆栈空间 ThreadStackSize 太小导致的。 win32默认只有256KB,而在 linux下默认值是 8M,这就是为什么同样的程序在 linux平台下正常,而在 win平台下不正常的原因。     根据PCRE library的官方说明:256 KB 的堆栈空间对应的pcre.recursion_limit大小应该不超过524。 Here is a table of safe values of pcre.recursion_limit for a variety of executable stack sizes: 下面就是一张Stacksize和pcre.recursion_limit对应的建议安全值,超过这个数值就极有可能发生堆栈溢出,apache crash: 代码如下:Stacksize   pcre.recursion_limit  64 MB      134217  32 MB      67108  16 MB      33554   8 MB      16777   4 MB      8388   2 MB      4194   1 MB      2097 512 KB      1048 256 KB      524
Linux cp命令参数简介 Linux

Linux cp命令参数简介

cp (复制档案或目录) 参数: -a :相当于 -pdr 的意思; -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身; -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制; -i :若目的n(destination)已经存在时,在覆盖时会先询问是否真的动作! -l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身; -p :连同档案的属性一起复制过去,而非使用预设属性; -r :递归持续复制,用于目录的复制行为; -s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案;
由Apache 500错误引出的临时文件问题分析解决 Linux

由Apache 500错误引出的临时文件问题分析解决

查看apache日志,发觉是mod_fcgid模块异常,提示"Connection reset by peer:mod_fcgid:error reading data from FastCGI server"、"Premature end of script headers:index.php"、"process /usr/... apache/cgi-bin exit(communication error, get unexpected signal 7",说白了就是php提前终止执行,没有返回header就退出。
LNMP服务器环境配置 (linux+nginx+mysql+php) Linux

LNMP服务器环境配置 (linux+nginx+mysql+php)

一、简介   Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过三年了。Igor Sysoev在建立的项目时,使用基于BSD许可。   在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)运行环境步骤 Linux

CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)运行环境步骤

一、简介什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面功能非常强大的组件。 LAMP这个词的由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。这些组件并不是开始就设计为一起使用的,但是,这些软件都是开源的,可以很方便的随时获得并免费使用,这就导致了这些组件经常在一起使用。这些组件的兼容性也在不断完善,为了改善不同组件之间的协作,已经创建了某些扩展功能,在一起的应用情形变得非常普便,因而成为目前最流行的web应用基础架构。
给Apache下的网站加速的方法总结 Linux

给Apache下的网站加速的方法总结

相信有很多做网站的朋友都在为自己的主机,VPS而头疼,总是会觉得速度慢,但是想要速度快的话又得花费过大,怎么样才能让网站速度快,又经济呢。今天这里分享一下在Apche下通用的一些加速技巧,IIS7的请绕道。
ubuntu 13.10编译安装mono环境(二) Linux

ubuntu 13.10编译安装mono环境(二)

准备工作先在VS2012上编译一个winform,代码如下:尝试在ubuntu上用mono运行:遇到错误了System.DllNotFoundException: /opt/mono-3.2.8/lib/libgdiplus.so,原因是如果要在ubuntu运行winform,那么必须要安装libgdiplus。