February 5, 2012
[教程]CentOS下安装lnmp教程(最新版2012-02-05)
"2013-01-25 更新的安装shell脚本,这里使用的是nginx1.2.6。 点击查看shell安装脚本,测试环境:\nCentos 6.3 X86_64 PHP 5.3.10 Nginx-1.2.6 memcached-1.4.15.tar.gz\n以下教程参考上次写的lnmp安装教程整理的,部分细节由于软件版本的变更也同时进行了增加和修改.\n以下基于x64位操作系统(64位操作系统,64位cpu).查看方法参考: http://blog.haohtml.com/archives/11093\n安装环境及软件:\nCentos6.1 X86_64 mysql-5.5.22-linux2.6-x86_64.tar.gz php-5.3.10.tar.gz nginx-1.2.0.tar.gz\n以上软件全部为截止当前日期 2012-2-5 为止最新稳定版的软件.\n前期准备工作\n一.安装常用命令\nyum -y install wget make zip unzip patch\n//有些命令可能以前安装过.这里就不需要重新安装了,不确定的话,再安装一次也没有关系的,系统会自动跳过安装过的命令 …"
January 29, 2012
centos升级内核教程
"当前系统为CentOS Linux release 6.0 (Final),内核版本为2.6.32-71.el6.i686.由于最近内核出现最新的漏洞(linux kernel 又爆内存提权漏洞,\u0026gt;=2.6.39 内核无一幸免{#thread_subject} 和),所以将内核升级至3.2.2最新版本.\n1.查看当前系统内核\n[root@bogon linux-3.2.2]# uname -r 2.6.32-71.el6.i686 2.下载linux-3.2.2内核包\ncd ~ wget -c http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.2.tar.bz2 tar jxvf linux-3.2.2.tar.bz2 cd linux-3.2.2 3.配置内核并安装\nmake mrproper #清除环境变量,即清除配置文件 make menuconfig #在菜单模式下选择需要编译的内核模块 找到以下选项并选中 networking support—\u0026gt;networking options—\u0026gt;network …"
January 29, 2012
Linux中各种文件系统基本特性ext2,ext3,ext4
"各种文件系统基本特性\nExt2Ext2 文件系统是Linux 特有的文件系统,它拥有传统UNIX 文件系统的许多特性,如块、inode\n和目录等概念。Ext2 非常健壮,具有很多优良的性能。同时,Ext2 也是可扩展的,它提供\n的扩展功能允许用户在不格式化文件系统的情况下使用新的特性。\n—————————————————-\n最大文件大小: 1TB\n最大文件极限: 仅受文件系统大小限制\n最大分区/文件系统大小: 4TB\n最大文件名长度: 255 字符\n缺省最小/最大块大小: 1024/4096 字节\n缺省inode 分配: 每4096 字节为1\n在强制FS 检查前的最大装载: 20(可配置)\n—————————————————-\nExt3\nExt3 文件系统构筑于ext2 文件系统之上,对标准的Linux ext2 文件系统进行了日志扩展。\n日志特性显著地减少文件系统崩溃后的恢复时间,它被广泛地应用于带有共享磁盘的HA 站\n点。\n—————————————————-\n最大文件大小: 1TB\n最大文件极限: 仅受文件系统大小限制\n最大分区/文件系统大小: 4TB\n最大文件名长度: 255 …"
January 11, 2012
lsof命令详解
"卸载移动存储时经常提示device busy,也可能误删了一个正在打开的文件。。。。 这时候可以试试lsof\n**lsof简介 **\n****lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。\n**lsof使用 **\n****lsof输出信息含义 在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。\nCOMMAND PID USER FD TYPE DEVICE SIZE NODE NAME init 1 root cwd …"
January 11, 2012
在FreeBSD系统中用pkill命令踢出SSH在线登录用户
"FreeBSD是一个多用户多任务的操作系统,用户可以在不同地方通过ssh连上FreeBSD服务器,在系统中我们可以使用w命令来查看当前在线登录用户。\n[root@host01 ~]# w\n03:05:23 up 19 min, 3 users, load average: 0.00, 0.03, 0.05 USER TTY FROM LOGIN@ IDLE WHAT root p0 192.168.0.2 01:39 6:52 /usr/bin/perl root p1 192.168.0.31 01:45 0.00s w root p2 192.168.0.23 01:52 2.00s -bash\n看到了吧,已经有3个用户登录到服务器了。接下来使用who am i 看那个是自己的登录终端,下面自己是pts/1\n[root@host01 ~]# who am i rootp1 2009-08-02 03:06 (192.168.0.31)\n接下来使用pkill命令将要其它的用户踢出,这里为p0和p2。\n[root@host01 ~]# pkill -kill -t p2\n再使用w命令查 …"
January 11, 2012
VSFTP中”Fixing 500 OOPS: vsftpd: refusing to run with writable root inside chroot ()”的解决办法!
"今天在参考以前写的在FreeBSD下配置vsftpd教程的时候.发现以下错误:\nAfter upgrading vsftpd to 2.3.5 you may be getting the following message when trying to log in.\n500 OOPS: vsftpd: refusing to run with writable root inside chroot ()\nThis is due to the following update:\n– Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life.\nThe problem is that your users root directory is writable(用户根目录 …"
January 8, 2012
FreeBSD中重新分区提示”ERROR: Unable to write data to disk ad0! To edit the lables on a running system set sysctl kern.geom.debugflags=16 and try again.”的解决办法
"今天将FreeBSD系统重新安装系统的时候.将原来的分区全部删除.进行重新分区,而按下W进行分区保存的时候.提示以下错误:\nERROR: Unable to write data to disk ad0! To edit the lables on a running system set sysctl kern.geom.debugflags=16 and try again.\n解决办法如下:\n用root权限运行以下任何一条命令:\n#sysctl -w kern.geom.debugflags=16\n或者\n#sysctl kern.geom.debugflags=16\n你可以用sysctl -a查询你系统的所有内核子系统的配置参数,在具备权限的情况下,你可以修改配置变量,其中有一些只读的属性无法修改,有一些属性只能在开机时设定而不是运行时动态修改的也不能改(这些参数/属性在/boot/loader.conf中调整和修改)"
January 7, 2012
FreeBSD启动出现”My unqualified host name unkown…Sleeping for retry”的解决办法
"最简单的方法是把/etc/rc.conf里的hostname改成”localhost”。即\nhostname=”localhost”"
December 29, 2011
二维数组和指针(C语言)
"int *p,a[5],b[3][4];\n指针变量给一维数组赋值,可以写成p=a;或则p=\u0026amp;a[0];\n二维数组需要写成 p=b[0]; 以下为指针与二维数组实例:\n#include \u0026lt;stdio.h\u0026gt; main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4]=a; printf(\u0026#34;%d\\n\u0026#34;,*(*(p+2) + 3)); } 输出结果为:\n23\n===========================\n应该注意指针数组和二维数组指针变量的区别。这两者虽然都可用来表示二维数组,但是其表示方法和意义是不同的。 二维数组指针变量是单个的变量,其一般形式中”(*指针变量名)”两边的括号不可少。\n而指针数组类型表示的是多个指针(一组有序指针)在一般形式中”*指针数组名”两边不能有括号。\nint (*p)[3]; 表示一个指向二维数组的指针变量。该二维数组的列数为 3或分解为一维数组的长度为3。 int *p[3] 表示 p 是一个指针数组,有三个下标变量 p[0],p[1],p[2] …"
December 28, 2011
如何安装nginx的第三方模块
"昨天晚上一口气将agentzh写的” Nginx变量漫谈1-8“看完了.于是手动测试一下这些第三方模块.\n这里以HttpEchoModule模块为例.\n由于以前安装过nginx,所以这里重新configure一下.并且指定新添加的模块路径.使用–add-module=/path/to/module_name指令.可以参考:\n这里只指定了一个HttpEchoModule这个模块.模块下载地址见:,如果有多个模块的话,只需要多次使用-add-module指令即可.\n先下载HttpEchoModule模块\ncd /usr/src/soft/nginx-1.1.1/ mkdir module cd module wget \u0026#34;https://github.com/agentzh/echo-nginx-module/tarball/v0.37rc7\u0026#34; tar zxvf v0.37rc7 重新配置加入第三方模块\ncd /usr/src/soft/nginx-1.1.1 ./configure --user=www --group=www …"