Tar打包、压缩与解压缩到指定目录的方法

tar在linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数

参数:
-c :create 建立压缩档案的参数;
-x : 解压缩压缩档案的参数;
-z : 是否需要用gzip压缩;
-v: 压缩的过程中显示档案;
-f: 置顶文档名,在f后面立即接文件名,不能再加参数

举例: 一,将整个/home/www/images 目录下的文件全部打包为 /home/www/images.tar
[root@royalwang ~]# tar -cvf /home/www/images.tar /home/www/images ← 仅打包,不压缩
[root@royalwang ~]# tar -zcvf /home/www/images.tar.gz /home/www/images ← 打包后,以gzip压缩

在参数f后面的压缩文件名是自己取的,习惯上用tar来做,如果加z参数,则以tar.gz 或tgz来代表gzip压缩过的tar file文件

举例: 二,将 /home/www/images.tar.gz 解压到/home/www下面
[root@royalwang ~]# cd /home/www
[root@royalwang ~]# tar -zxvf /home/images.tar.gz

解压到指定的目录
[root@royalwang ~]# tar -zxvf /home/images.tar.gz -C /specific dir

解包到指定的目录
tar xvf filename.tar -C /specific dir

一句简单命令重启nginx

最近我的多个VPS经常出现502错误,经常需要重启nginx,但网上的很多教程都需要繁琐的启动脚本,远不如apache的重启命令那么简单。
但研究了一下nginx帮助后发现,有-s参数可对nginx服务进行管理:
# /usr/local/nginx/sbin/nginx -h
nginx version: nginx/0.7.63
Usage: nginx [-?hvVt] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/nginx/)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file

于是我执行
# /usr/local/nginx/sbin/nginx -s reload
nginx已经重启成功

nginx的301重定向规则

今天对网站进行了301重定向,把www.it86.cc和it86.cc合并,并把之前的域名也一并合并. 有两种实现方法,
第一种方法是判断nginx核心变量host(老版本是http_host):

server {
	server_name www.it86.cc it86.cc ;
	if ($host != 'www.it86.cc' ) {
		rewrite ^/(.*)$ http://www.it86.cc/$1 permanent;
	}
	...
}

第二种方法:

server {
	server_name it86.cc;
	rewrite ^/(.*) http://www.it86.cc/$1 permanent;
}

我用的是第一种方法,这两种方法中, permanent是关键,详细说明见nginx重定向规则说明。

last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301

好了,现在可以检查结果,这里可以看返回的HTTP头信息:http://www.seoconsultants.com/tools/headers.asp