Linux及Web服务器管理
RichardXu
永不放弃 耕者生存
展开
-
GDB调试Segment Fault的线上http进程的方法
有些问题只有在大并发访问量的线上机器上才能体现出来,测试机没法重现。我们可以使用GDB来解决这个问题。首先在命令行启动GDBGDB然后输入attach http进程id如果需要设置断电的话,可以先执行stop,然后设置断电然后 输入 c 或者 continue 让这个进行继续提供服务,如果这个进程发生了Segfault错误,我们可以通过 bt 等跟踪命令,来查看问题出在原创 2014-11-07 23:48:11 · 1351 阅读 · 0 评论 -
编译Linux内核的简单步骤
步骤一:下载自己需要编译的内核版本,我是从www.kernel.org官网下载的;步骤二:解压到 /usr/src 目录下:tar -xf linux-3.9.11.tar.xz -C /usr/src;步骤三:进行内核的配置,这也是最主要的一步。不过命令很简单,有三种模式可以选择,我选择最简单的 make menuconfig;步骤四:配置完成以后,就可以开始编译、安装工作了。m转载 2013-09-11 11:47:23 · 1138 阅读 · 0 评论 -
Linux之Bash 实用技巧大全
Linux 下shell基本上默认是 bash, 下面是我总结的一些技巧。& 后台运行程序() 使用子shell, 比如 (cd ../../commlib/; make)$() 命令替换,和 ``的作用是一样的使用举例:比如你要在 shell 脚本中 使用 awk 脚本awk -f /abc/{ print $0;}EOF)转载 2012-12-25 15:43:09 · 1124 阅读 · 0 评论 -
Linux统计文件行数
语法:wc [选项] 文件…说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下: - c 统计字节数。 - l 统计行数。 - w 统计字数。这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每转载 2012-06-13 11:04:44 · 1494 阅读 · 0 评论 -
Linux 查看CPU信息、机器型号等硬件信息
测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8个逻辑CPU, 也知道了CPU型号) # cat /proc/cpuinfo | gr转载 2012-05-24 12:20:31 · 724 阅读 · 0 评论 -
让Linux终端中执行的程序在后台运行
在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ ./test.sh & [1] 17208 $ jobs -l [1]+ 17208 Running ./test.sh & 对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程转载 2012-06-13 00:44:09 · 1109 阅读 · 0 评论 -
解析LINUX的passwd文件
通常在Linux系统中,用户的关键信息被存放在系统的/etc/passwd文件中,系统的每一个合法用户账号对应于该文件中的一行记录。这行记录定义了每个用户账号的属性。下面是一个passwd文件的示例(部分摘录): root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sb转载 2012-04-14 15:23:13 · 1040 阅读 · 0 评论 -
Linux系统安装软件的原理与系统结构
只能简单地讲一下,本人对于linux kernel运行的实际情况也是一知半解,不敢胡说,只能讲讲软件安装的一点东西,下面讲错的还请兄弟们指正。 在linux内核的外面包着一个外壳──shell,用户通过shell来和linux kernel进行交互。要注意的是,shell也是一个程序,而且是一个提供交互界面的程序,也就是说它能够接受用户键入的命令,并且处理命令。对于各种发行版而言,有不同的s转载 2011-12-26 17:09:57 · 3068 阅读 · 0 评论 -
Vim多行缩进及高级命令
Vim多行缩进技巧 1.按v进入visual状态,选择多行,用>或<缩进或缩出2. 通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n=原创 2011-08-11 11:04:30 · 91122 阅读 · 4 评论 -
VIM 代码折叠
VIM 代码折叠VIM代码折叠方式可以用"foldmethod"选项来设置,如: set foldmethod=indent有6种方式来折叠代码1. manual //手工定义折叠2. indent //用缩进表示折叠3. expr //用表达式来定义折叠转载 2011-08-04 20:25:03 · 1283 阅读 · 0 评论 -
用Shell脚本来遍历文件夹里的所有文件
#!/bin/bashfunction ergodic(){ for file in ` ls $1 ` do if [ -d $1"/"$file ] then ergodic $1"/"$file els原创 2011-06-17 15:00:00 · 24874 阅读 · 1 评论 -
关闭vim的BELL声音
<br />如果是在 console 模式下使用 vi/vim,一旦按错键会发出 bi 的一声,这样做可以提醒我们,但是很多时候会影响其他人工作、学习或者休息,如何关闭呢?<br /><br />可以在 vi/vim 中使用<br />:set noeb<br />命令(其中 noeb 是 noerrorbells 的缩写),这样当错误发生的时候将不会发出 bi 的一声。如果想要在出错的时候有一些提示,可以使用<br />:set vb<br />命令(其中 vb 是 visualbell 的缩写),代替原创 2011-05-28 21:59:00 · 12734 阅读 · 0 评论 -
对操作系统一句话即可致命的普通语句!
温故而知新,今天下午看了看操作系统有关重定向的知识。就拿Linux而言,一个程序启动以后,有3个默认的标准IO设备:FD0:标准输入FD1:标准输出FD2:错误输出用户可以在使用操作系统的时候使用一些符号改变输入、输出以及错误输出的设备:> FILE 将输出改为FILE但是请注意如下语句:cat file cat > file原创 2013-11-28 15:57:47 · 1435 阅读 · 0 评论 -
Linux下后台程序完成自动输入密码等交互行为的例子
linux shellexpect自动交互原创 2014-01-06 16:35:50 · 9481 阅读 · 2 评论 -
HTTP协议中返回代码302的情况
http重定向302原创 2014-10-13 17:21:28 · 39186 阅读 · 0 评论 -
关于Apache服务器的访问控制
Apache的访问控制指对对任何资源的任何方式的访问控制。原创 2014-11-13 10:27:01 · 1331 阅读 · 1 评论 -
基于ZF中的.htaccess文件学习Apache的Rewrite语法
ApacheRewriteZF原创 2014-05-05 23:42:08 · 2575 阅读 · 0 评论 -
关于Apache服务器的访问控制
ApacheAccess Control访问控制原创 2014-05-05 16:43:30 · 5785 阅读 · 0 评论 -
搭建基于Nagios的监控系统——之监控远程Windows服务器
Nagios监控Windows原创 2014-03-07 14:31:33 · 6973 阅读 · 1 评论 -
搭建基于Nagios的监控系统——之监控远程Linux服务器
Nagios监控远程Linux原创 2014-03-07 09:53:12 · 4249 阅读 · 0 评论 -
搭建基于Nagios的监控系统——之安装Nagios Core
Linux监控Nagios原创 2014-03-07 08:14:13 · 8219 阅读 · 2 评论 -
Linux中的nice程序名字的由来
LinuxShellnice原创 2014-03-05 10:18:21 · 2431 阅读 · 0 评论 -
Linux Shell 中的判断结构
LinuxShellIFTest翻译 2014-03-05 10:54:24 · 1803 阅读 · 0 评论 -
学习TCP协议的流量控制(flow control)小结
TCP流量控制窗口机制窗口扩大因子原创 2014-02-19 22:47:41 · 10951 阅读 · 0 评论 -
使用Apache2.4.4下的htpasswd生成的密码无效
Apachehtpasswd原创 2014-02-28 00:20:46 · 2745 阅读 · 0 评论 -
scp和rsync哪个快?
scprsync原创 2013-12-27 11:59:14 · 14877 阅读 · 3 评论 -
tar 排除指定目录打包
<br /> <br />如果 /opt/apache/目录下有 a b c d 这几个目录<br />现在要将 a b目录tar打包,不打包c d目录<br />命令如下,当前在opt目录下opt> tar -zcvf apache.tar.gz --exclude=c --exclude=d apache或opt> tar -zcvf test.tar.gz --exclude=/apache/c --exclude=apache/d apache<br /> <br />转载 2011-04-08 10:54:00 · 1006 阅读 · 0 评论 -
Squid工作原理
<br />SQUID如何工作<br />[传统代理]<br />1.SQUID被绑定到代理服务器的3128端口。<br />2.客户端浏览器被配置使用代理服务器的3128端口。<br />3.客户端不需要配置DNS。4.代理服务器上需要配置代理服务器。<br />5.客户端不需要配置缺省路由。<br />当我们在客户端浏览器中打开一个web请求,比如“http://www.96333.com”,这时将陆续发生以下事件:<br />1.客户端使用某一端口(比如1025)连接代理服务器3128端口,请求web转载 2011-05-27 10:50:00 · 792 阅读 · 0 评论 -
C Socket errno Codes
<br />This chapter defines errno codes returned by the TCPaccess IUCV C socket functions. It includes these sections:Overview<br />When an IUCV C socket function completes, the errno value provides additional information about the error reported. errno v转载 2010-11-17 16:22:00 · 2932 阅读 · 0 评论 -
虚拟机报错:fail to lock file
<br />有时在虚拟机非正常关闭或其它情况下试图打开虚拟机时程序会提醒failed to lock the file,<br />这时只要找到虚拟机文件所在目录删除所有.ick结尾的 文件夹和文件即可转载 2010-08-18 13:50:00 · 3135 阅读 · 0 评论 -
VIM复制粘贴命令
yy 复制游标所在行整行。或大写一个 Y。2yy 复制两行,y2y 也可以。ㄟ,请举一反三好不好!:-)y^ 复制至行首,或 y0。不含光标所在处字符。y$ 复制至行尾。含光标所在处字符。yw 复制一个 word。y2w 复制两个字。yG 复制至档尾。y1G 复制至档首。p 小写 p 代表贴至光标后(下)。P 大写 P 代表贴至光标前(上)。整行的复制,按 p 或 P 时是插入式的贴在下(上)一行。非整行转载 2010-06-13 10:34:00 · 2434 阅读 · 0 评论 -
刚写的一个linux下查找文件的脚本
<br />!/bin/bashif [ "$1" = "--help" ]then echo "find PATH SUFFIX SEARCHSTRING";else if [ $# -lt 3 ] then echo 'miss argument!'; else for item in ` find $1 -name "*.$2" -exec grep -l "$3" {} /; ` do echo $item; done fifi<b原创 2010-06-07 10:09:00 · 1600 阅读 · 0 评论 -
Linux系统shell脚本对字符串、数字、文件的判断
<br />先写一些基本语法:<br /><br />1、字符串判断<br /><br />str1 = str2 当两个串有相同内容、长度时为真<br />str1 != str2 当串str1和str2不等时为真<br />-n str1 当串的长度大于0时为真(串非空)<br />-z str1 当串的长度为0时为真(空串)<br />str1 当串str1为非空时为真<br /><br />2、数字的判断<br /><br />i转载 2010-06-04 13:05:00 · 5579 阅读 · 0 评论 -
Apache报错:exit signal Segmentation fault (11)
<br />刚才写一个PHP的小程序,运行了一下,Apache报错:exit signal Segmentation fault (11)<br />然后马上到谷歌上去搜索,找了很多英文页面,不知所云。没办法,仔细检查了一遍程序,才发现犯了一个低级错误,一个变量忘记加$了,加上一切正常。原创 2010-07-26 16:58:00 · 6806 阅读 · 0 评论 -
Configure,Makefile.am, Makefile.in, Makefile文件之间关系
1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。 your source files --> [autoscan*] --> [configure.scan] --> configure.ac2.aclocal (automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 acl转载 2010-07-20 18:06:00 · 813 阅读 · 0 评论 -
linux下make命令详解
<br /> 摘要:在开发一个系统时,一般是将一个系统分成几个模块,这样做提高了系统的可维护性,但由于各个模块间不可避免存在关联,所以当一个模块改动后,其他模块也许会有所更新,当然对小系统来说,手工编译连接是没问题,但是如果是一个大系统,存在很多个模块,那么手工编译的方法就不适用了。为此,在Linux系统中,专门提供了一个make命令来自动维护目标文件,与手工编译和连接相比,make命令的优点在于他只更新修改过的文件(在Linux中,一个文件被创建或更新后有一个最后修改时间,make命令就是通过这个最转载 2010-07-19 21:37:00 · 7343 阅读 · 0 评论 -
SVN访问时出现200 OK错误的解决方法
今天配置测试服务器,好不容易配完了svn,访问的时候却出现了 OPTIONS of http://url 200 OK的错误。废话少说,告诉大家我是怎么解决的:原来我的配置文件写错了,我写的是: DAV svn SVNListParentPath on SVNParentPath /svn AuthType Basic AuthName "Chinaemba Test repos" AuthMYSQLEnable on原创 2010-07-13 15:41:00 · 17187 阅读 · 0 评论 -
LINUX SSH乱码解决。
<br />vi /etc/sysconfig/i18n<br />将内容改为<br />LANG="zh_CN.GB18030" <br />LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" <br />SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en" <br />SYSFONT="lat0-sun16"<br />这样中文在SSH,telnet终端就可以正常显示了。转载 2010-07-13 14:40:00 · 819 阅读 · 0 评论 -
apache2.2下编译安装mod_auth_mysql的补丁
<br />这两天尽为这个问题烦恼了,今天早晨起来又编译了好几遍,还是错误。<br />后来去google搜索了一下apache2.2下安装这个要不要特殊的原因,终于查到,还需要一个补丁<br />--- orig/mod_auth_mysql.c 2005-06-22 12:17:45.000000000 -0400+++ mod_auth_mysql.c 2006-02-22 21:16:19.000000000 -0500@@ -206,7 +206,7 @@ #define SNPR原创 2010-07-17 09:59:00 · 3543 阅读 · 0 评论 -
linux命令chkconfig用法详解
<br />功能说明:检查,设置系统的各种服务。 <br /><br />语 法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] <br /><br />补充说明:这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。 <br /><br />参 数: <br /> <br />--add 增加所指定的转载 2010-07-14 17:57:00 · 1213 阅读 · 0 评论