Archive for the ‘linux’ Category

CentOS 6.2/6.3安装配置Git及Gitosis

04.03.2013 by jiezhou - 0 Comment, Posted in linux

1、安装git

因为centos源中已经包含git,而且是较新版本,所有可以直接以下命令安装:

yum install git

2、安装gitosis

yum install python python-setuptools
mkdir -p /data/git
cd /data/git
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install

Read the rest of this entry »

CentOS 6.2/6.3安装SVN(编译方式安装Apache+Subversion)

03.19.2013 by jiezhou - 0 Comment, Posted in linux

通过编译方式安装subversion
需要安装的软件包(均为当前的稳定版):

httpd-2.2.24 (apache)
apr-1.4.6/apr-util-1.4.1 (已包含在httpd包中)
subversion-1.7.6
sqlite-3.7.16
neon-0.29.6

前提

如果之前没有安装过编译环境,请执行以下命令:

yum groupinstall "Development tools"

Read the rest of this entry »

nginx配置中location与rewrite的匹配说明

09.21.2012 by jiezhou - 0 Comment, Posted in linux

1、location匹配前缀说明

(1) = 精确匹配,匹配成功则终止匹配。
(2) ^~ 表示匹配前缀,匹配成功则终止正则匹配。
(3) ~* 表示不区分大小写的正则匹配。
(4) ~ 表示区分大小写的正则匹配。
注:不带前缀表示普通匹配,遵循最大字符串配置。

2、location匹配顺序

(1) 前缀 “=” 先进行匹配,如果找到了,终止搜索。
(2) 对所有其它 location 进行非正则的匹配,找到最符合的匹配,也就是最大字符串配置,匹配结果如果是带”^~” 前缀的,则终止搜索并直接返回找到的这个,否则开始正则查找。
(3) 正则查找则按照配置文件中配置顺序进行查找。
(4) 如果正则查找匹配成功,则使用此正则匹配的location,否则,使用第二步查找的结果,若第二步也未找到结果,则返回404。

3、rewrite正则的flag说明

(1) last 中止当前location下的正则匹配,但会继续重新开始location匹配,循环不超过10次。
(2) break 中止任何匹配。
(3) redirect 让http header中返回状态302,意味着临时重定向
(4) permanent 让http header中返回状态301,意味着永久重定向

Discuz X1.5+Sphinx帖子全文检索功能搭建

10.09.2010 by jiezhou - 3 Comments, Posted in linux, php+mysql

网站的搜索从来都是巨耗服务器资源的。
如何让用户方便快捷的搜索网站信息一直是困扰站长们的一大问题。
Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。
下面就说说如何安装Sphinx并将它集成到Discuz X1.5中。
以下操作均在ubuntu server 9.04中进行的,其它系统相差不大。

下载安装文件

wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.13.tar.gz
tar zxvf coreseek-3.2.13.tar.gz
cd coreseek-3.2.13

这里下载的是coreseek,它由国人基于Sphinx二次开发,更适合中文搜索。
里面包含修改后的sphinx(csft)及中文分词程序mmseg

Read the rest of this entry »

Vim入门图解说明

05.11.2010 by jiezhou - 0 Comment, Posted in linux

Vim是个可配置性极强的文本编辑器,可助你进行高效的文本编辑。是绝大部分UNIX系统自带的vi编辑器增强版本(Vi IMproved)。
Vim常被称作“程序员的编辑器”,其功能如此强大以致许多人认为它就是个完整的IDE。当然,它并不仅仅为程序员而生。对于各种文本编辑而言, 无论是撰写email还是编辑配置文件,Vim都臻于完美。
对于习惯了鼠标操作的windows用户来说,Vim操作显得有点复杂,而且命令繁多。因此入门会比较困难。

vim-cheat-sheet-full

Read the rest of this entry »

Linux下常用压缩格式的压缩与解压命令

01.15.2010 by jiezhou - 0 Comment, Posted in linux

.tar
解包:tar xvf filename.tar
打包:tar cvf filename.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip filename.gz
解压2:gzip -d filename.gz
压缩:gzip filename
———————————————
.tar.gz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz DirName
———————————————
Read the rest of this entry »

Ubuntu安装ngnix+php+mysql笔记

01.05.2010 by jiezhou - 0 Comment, Posted in linux

每次重装系统,都得重新安装web服务器环境,把过程记录下来,方便日后快速操作。

主要参照张宴的教程:http://blog.s135.com/nginx_php_v5/

1、Ubuntu默认没有编译环境,所以要先配置编译环境

apt-get install build-essential gcc g++ make automake autoconf

Read the rest of this entry »

跟我一起写 Makefile

10.21.2009 by jiezhou - 0 Comment, Posted in linux

什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些 Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完 成大型工程的能力。

因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系 列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell 脚本一样,其中也可以执行操作系统的命令。

makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是 一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。

现在讲述如何写makefile的文章比较少,这是我想写这篇文章的原因。当然,不同产商的make各不相同,也有不同的语法,但其本质都是在“文件依赖 性”上做文章,这里,我仅对GNU的make进行讲述,我的环境是RedHat Linux 8.0,make的版本是3.80。必竟,这个make是应用最为广泛的,也是用得最多的。而且其还是最遵循于IEEE 1003.2-1992 标准的(POSIX.2)。

在这篇文档中,将以C/C++的源码作为我们基础,所以必然涉及一些关于C/C++的编译的知识,相关于这方面的内容,还请各位查看相关的编译器的文档。这里所默认的编译器是UNIX下的GCC和CC。

Read the rest of this entry »

Linux系统常用信息查看命令

07.24.2009 by jiezhou - 0 Comment, Posted in linux

系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量

资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载

磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况

网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息

进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态

用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务

服务
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务

程序
# rpm -qa # 查看所有安装的软件包

另外这里还有些命令