为nginx增加nginx_http_concat模块

非覆盖安装 因为需要加入这个新的nginx模块,所以需要重新编译nginx。为了不影响之前的ngxin,所以我们打算采用[nginx添加模块(非覆盖安装][]中的方法来实现飞覆盖安装。主要步骤如下 试用nginx -V来查看nginx的版本以及nginx带上的参数,返回如下结果,configure arguments后面是我省略了,你可以自己记住那个编译的版本试用了什么configure,然后下面会用到 nginx version: nginx/1.2.8 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) TLS SNI support enabled configure arguments: … 然后去nginx上面下载对应版本的的nginx的源代码,并解压缩 wget http://nginx.org/download/nginx-1.2.8.tar.gz tar xzvf nginx-1.2.8.tar.gz 按照nginx-http-concat上面说的,git clone一下它的源码 git clone git://github.com/alibaba/nginx-http-concat.git 用第一步获得的configure aguments,然后在最后没加上如下配置,调用./configure来配置 –add-module=/home/user/install/nginx-http-concat 配置OK之后就调用make make make完之后在objs目录下面找到nginx文件,然后覆盖掉当前的nginx文件即可 配置静态目录启用nginx-http-concat 可以参考 nginx-http-concat上面的来配置,我这边是在location下面增加了两行 concat on; concat_max_files 20; location /js/ {     # 打开concat 功能     # 默认关闭     concat on;     # 允许concat最大的文件数(http://m114.org/test/??1.css,2.css,3.css…10.css) 默认最大设置十个文件。     # (默认: 10)     # concat_max_files 10; […]

MAC OS 10.10 转发80(HTTP)端口的方法

MAC OS 本质上还是 Unix 系统, Unix 系统大多默认情况下非root用户是无法使用小于1024的常用端口的.这时候如果你开发中需要在普通用户下用到80端口, 比如 tomcat, 比如 vitualbox 下构建了一个 http 服务, 若你想直接通过 浏览器的 localhost 访问的话(比用加上莫名其妙的”:端口”的话)你就需要做一些系统端口转发的工作. MAC OS 10.10 上 pfctl 就可以做这一件事情, 详情请参见 man pfctl 或者 man pf.conf 具体操作如下: 首先在 /etc/pf.anchors/ 新建一个 http 文件内容如下: rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080 rdr pass […]

每天一个linux命令(10):cat 命令

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 1.命令格式: cat [选项] [文件]… 2.命令功能: cat主要有三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件:cat file1 file2 > file 3.命令参数: -A, –show-all           等价于 -vET -b, –number-nonblank    对非空输出行编号 -e                       等价于 -vE -E, –show-ends          在每行结束处显示 $ -n, –number     对输出的所有行编号,由1开始对所有输出的行数编号 -s, –squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行 -t                       与 -vT 等价 -T, –show-tabs          将跳格字符显示为 ^I -u                       (被忽略) -v, –show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 4.使用实例: 实例一:把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里 命令: cat -n log2012.log log2013.log 输出: [root@localhost test]# cat log2012.log 2012-01 2012-02 ======[root@localhost test]# cat log2013.log 2013-01 2013-02 2013-03 ======[root@localhost test]# cat -n log2012.log log2013.log 1  2012-01 2  2012-02 3 4 5  ====== 6  2013-01 7  2013-02 8 9 10  2013-03 11  ======[root@localhost test]# 说明: 实例二:把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里。 命令: cat -b log2012.log log2013.log log.log 输出: [root@localhost test]# cat -b log2012.log log2013.log log.log 1  2012-01 2  2012-02 3  ====== 4  2013-01 5  2013-02 6  2013-03 […]

每天一个linux命令(9):touch 命令

linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。 1.命令格式: touch [选项]… 文件… 2.命令参数: -a   或–time=atime或–time=access或–time=use  只更改存取时间。 -c   或–no-create  不建立任何文档。 -d  使用指定的日期时间,而非现在的时间。 -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 -m   或–time=mtime或–time=modify  只更改变动时间。 -r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。 -t  使用指定的日期时间,而非现在的时间。 3.命令功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。 4.使用范例: 实例一:创建不存在的文件 命令: touch log2012.log log2013.log 输出: [root@localhost test]# touch log2012.log log2013.log [root@localhost test]# ll -rw-r–r– 1 root root    0 10-28 16:01 log2012.log -rw-r–r– 1 root root    0 10-28 16:01 log2013.log 如果log2014.log不存在,则不创建文件 [root@localhost test]# touch -c log2014.log [root@localhost test]# ll -rw-r–r– 1 root root    0 10-28 16:01 log2012.log -rw-r–r– 1 root root    0 10-28 16:01 log2013.log 实例二:更新log.log的时间和log2012.log时间戳相同 命令: touch -r log.log log2012.log 输出: [root@localhost test]# ll -rw-r–r– 1 root root    0 10-28 16:01 log2012.log -rw-r–r– 1 root root    0 10-28 16:01 log2013.log -rw-r–r– 1 root root    0 10-28 14:48 log.log [root@localhost test]# touch -r log.log log2012.log [root@localhost test]# ll -rw-r–r– 1 root root    0 10-28 14:48 log2012.log -rw-r–r– 1 root root    0 10-28 16:01 log2013.log -rw-r–r– 1 root root    0 10-28 14:48 log.log 实例三:设定文件的时间戳 命令: touch -t 201211142234.50 log.log 输出: [root@localhost test]# ll -rw-r–r– 1 root root    0 10-28 14:48 log2012.log -rw-r–r– 1 root root    0 10-28 16:01 log2013.log -rw-r–r– 1 root root    0 10-28 14:48 log.log [root@localhost test]# touch -t 201211142234.50 log.log [root@localhost test]# ll -rw-r–r– 1 root root    0 10-28 14:48 log2012.log -rw-r–r– 1 root root    0 10-28 16:01 log2013.log -rw-r–r– 1 root root    0 2012-11-14 log.log 说明: -t  time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数: […]

每天一个linux命令(8):cp 命令

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。 1.命令格式: 用法: cp [选项]… [-T] 源 目的 或:cp [选项]… 源… 目录 或:cp [选项]… -t 目录 源… 2.命令功能: 将源文件复制至目标文件,或将多个源文件复制至目标目录。 3.命令参数: -a, –archive 等于-dR –preserve=all –backup[=CONTROL 为每个已存在的目标文件创建备份 -b 类似–backup 但不接受参数 –copy-contents 在递归处理是复制特殊文件内容 -d 等于–no-dereference –preserve=links -f, –force 如果目标文件无法打开则将其移除并重试(当 -n 选项 存在时则不需再选此项) -i, –interactive 覆盖前询问(使前面的 -n 选项失效) -H 跟随源文件中的命令行符号链接 -l, –link 链接文件而不复制 -L, –dereference 总是跟随符号链接 -n, –no-clobber […]

每天一个linux命令(7):mv命令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。 1.命令格式: mv [选项] 源文件或目录 目标文件或目录 2.命令功能: 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。 3.命令参数: -b :若需覆盖文件,则覆盖前先行备份。 -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! -u :若目标文件已经存在,且 source 比较新,才会更新(update) -t : –target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。 4.命令实例: 实例一:文件改名 命令: mv test.log test1.txt 输出: [root@localhost test]# ll 总计 20drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxrwx 2 root […]

每天一个linux命令(6):rmdir 命令

今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm – r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。 1.命令格式: rmdir [选项]… 目录… 2.命令功能: 该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。 3.命令参数: – p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。 -v, –verbose 显示指令执行过程 4.命令实例: 实例一:rmdir 不能删除非空目录 命令: rmdir doc 输出: [root@localhost scf]# tree . |– bin |– doc | |– info | `– product |– lib |– logs | |– info | `– product `– service `– deploy |– info […]

每天一个linux命令(5):rm 命令

昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。 1.命令格式: rm [选项] 文件… 2.命令功能: 删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。 3.命令参数: -f, –force 忽略不存在的文件,从不给出提示。 -i, –interactive 进行交互式删除 -r, -R, –recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。 -v, –verbose 详细显示进行的步骤 –help 显示此帮助信息并退出 –version 输出版本信息并退出 4.命令实例: 实例一:删除文件file,系统会先询问是否删除。 命令: rm 文件名 输出: [root@localhost test1]# ll 总计 4 -rw-r–r– 1 root root 56 10-26 14:31 log.log root@localhost test1]# rm […]

每天一个linux命令(4):mkdir命令

linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。 1.命令格式: mkdir [选项] 目录… 2.命令功能: 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。 3.命令参数: -m, –mode=模式,设定权限 (类似 chmod),而不是 rwxrwxrwx 减 umask -p, –parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; -v, –verbose 每次创建新目录都显示信息 –help 显示此帮助信息并退出 –version 输出版本信息并退出 4.命令实例: 实例1:创建一个空目录 命令: mkdir test1 输出: [root@localhost soft]# cd test [root@localhost test]# mkdir test1 [root@localhost test]# ll 总计 4drwxr-xr-x 2 root root 4096 10-25 17:42 […]

每天一个linux命令(3):pwd命令

Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。 1.命令格式: pwd [选项] 2.命令功能: 查看”当前工作目录“的完整路径 3.常用参数: 一般情况下不带任何参数 如果目录是链接时: 格式:pwd -P 显示出实际路径,而非使用连接(link)路径。 4.常用实例: 实例1:用 pwd 命令查看默认工作目录的完整路径 命令: pwd 输出: [root@localhost ~]# pwd /root [root@localhost ~]# 实例2:使用 pwd 命令查看指定文件夹 命令: pwd 输出: [root@localhost ~]# cd /opt/soft/ [root@localhost soft]# pwd /opt/soft [root@localhost soft]# 实例三:目录连接链接时,pwd -P 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径 命令: pwd -P 输出: [root@localhost soft]# cd […]