Nginx Gzip 压缩配置

随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip过的页面。
Nginx的压缩输出有一组gzip压缩指令来实现。相关指令位于nginx默认配置文件http{….}两个大括号之间。gzip on;
//该指令用于开启或关闭gzip模块(on/off)

gzip_min_length 1k;
//设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。

gzip_buffers 4 16k;
//设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。

gzip_http_version 1.1;
//识别http的协议版本(1.0/1.1)

gzip_comp_level 2;
//gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)

gzip_types text/plain application/x-javascript text/css application/xml
//匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。
gzip_vary on;
//和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

nginx 配置gzip段如下:
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

 

 

转载自:http://www.cnblogs.com/zfying/archive/2012/07/07/2580876.html

vim清空文件所有内容

在使用vim编辑器的时候,有时候编辑一个文件,而文件内容比较多,如果需要快速清空整个文件,可以使用一下命令:

在命令模式下,首先执行  gg

这里是跳至文件首行

再执行:dG

这样就清空了整个文件!

还有一种方法就要退出VIM,然后使用echo >> file ,这样也能快速清空文件内容,当然你也可以删除了这个文件再新建一个就是了。

putty中解决SSH连接断开

经常在网上看到有人说自己利用putty工具登录服务器总是连接不上,这样的情况自己在刚接触putty时也遇到过。在 Connection 里面有个 Seconds between keepaliaves,这里就是每间隔指定的秒数,就给服务器发送一个空的数据包,来保持连接。以免登录的主机那边在长时间没接到数据后,会自动断开 SSH 的连接。如下图:

putty使用之保持连接不要自动断开

上图中,默认输入 0 是禁用保持连接,在这里我习惯的设置了 10。两个复选框都保持默认选中。

转自http://www.putty.ws/putty-lianjie

centos6+apache+mono+asp.net 配置

1.安装必要的运行库

yum update

yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel  cairo-devel

2.安装apache

wget -c http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.4.tar.bz2

tar -jxvf  httpd-2.4.4.tar.bz2

cd httpd-2.4.4

./configure

make

make install

3.安装 libgdiplus

cd /usr/local/src/

wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2

tar -jxvf libgdiplus-2.10.tar.bz2

 cd libgdiplus-2.10

./configure –prefix=/opt/mono

make

make install

echo “/opt/mono/lib” > /etc/ld.so.conf.d/mono.conf

ldconfig

4.安装 mono

cd /usr/local/src/

wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2

tar -jxvf mono-2.10.8.tar.bz2

cd mono-2.10.8

 ./configure –prefix=/opt/mono

make #此处时间较长

make install

echo export PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile

echo export LD_LIBRARY_PATH=/opt/mono/lib:$LD_LIBRARY_PATH>>~/.bash_profile

echo export PATH=/opt/mono/bin:$PATH>>~/.bash_profile

source ~/.bash_profile

 

输入 mono -V 如有mono版本信息,则安装成功.

 

5.安装mono xsp-2.10

 cd /usr/local/src/

wget http://download.mono-project.com/sources/xsp/xsp-2.10.tar.bz2

tar jxvf xsp-2.10.tar.bz2

cd xsp-2.10

./configure -prefix=/opt/mono

make

make install

 

6.安装mod_mono-2.10

 cd /usr/local/src/

wget http://download.mono-project.com/sources/mod_mono/mod_mono-2.10.tar.bz2

tar jxvf mod_mono-2.10.tar.bz2

cd mod_mono-2.10

./configure -prefix=/opt/mono

make

make install

7.mod_mono配置:
cp /etc/httpd/conf/mod_mono.conf /etc/httpd/conf.d/mod_mono.conf
vi /etc/httpd/conf/mod_mono.conf /加入如下配置

MonoServerPath /opt/mono/bin/mod-mono-server4

vi etc/httpd/conf.d/mod_mono.conf

加入如下配置

MonoServerPath /opt/mono/bin/mod-mono-server4

8.修改/etc/profile,在末端添加

MONO_HOME=/opt/mono
PATH=$MONO_HOME/bin:$PATH
CLASSPATH=.:$MONO_HOME/lib/
export MONO_HOME
export PATH
export CLASSPATH
9.
打开这个
http://go-mono.com/config-mod-mono/Default.aspx
输入自己的主机信息
然后把下面的配置复制出来
vim  /usr/local/apache2/conf/httpd.conf
粘贴进去。
10. /usr/local/apache2/bin/httpd -k restart

Linux计划任务入门详解

新增调度任务:
直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

具体格式如下:
Minute Hour Day Month Dayofweek   command
分钟     小时   天     月       天每星期       命令
每个字段代表的含义如下:
Minute             每个小时的第几分钟执行该任务
Hour               每天的第几个小时执行该任务
Day                 每月的第几天执行该任务
Month             每年的第几个月执行该任务
DayOfWeek     每周的第几天执行该任务
Command       指定要执行的程序
在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
举例如下:
5       *       *           *     *     ls             指定每小时的第5分钟执行一次ls命令
30     5       *           *     *     ls             指定每天的 5:30 执行ls命令
30     7       8         *     *     ls             指定每月8号的7:30分执行ls命令
30     5       8         6     *     ls             指定每年的6月8日5:30执行ls命令
30     6       *           *     0     ls             指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30     3     10,20     *     *     ls     每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25     8-11 *           *     *     ls       每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15   *       *           *     *     ls         每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30   6     */10         *     *     ls       每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50   7       *             *     *     root     run-parts     /etc/cron.daily   [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]

特别提示

A、cron配置文件路径

#vi /etc/crontab
B、重启cron的方法

#/etc/rc.d/init.d/crond restart
Usage: /etc/rc.d/init.d/crond {start|stop|status|reload|restart|condrestart}

C、别忘了将脚本改成可执行

chmod +x filename

linux 备份网站及数据库 并FTP上传

#将下面的文字保存为sh文件,上传至服务器,设置777权限,运行。

#!/bin/bash
#你要修改的地方从这里开始
MYSQL_USER=abc#mysql用户名
MYSQL_PASS=password#mysql密码
MAIL_TO=yourmail@ex.com #数据库发送到的邮箱
FTP_USER=ftpuser#ftp用户名
FTP_PASS=123456#ftp密码
FTP_IP=127.0.0.1 #ftp地址
FTP_backup=backup #ftp上存放备份文件的目录,这个要自己在ftp上面新建的
WEB_DATA=/home/wwwroot #要备份的网站文件目录
#你要修改的地方从这里结束

#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +”%Y%m%d”).tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
OldData=Data_$(date -d -5day +”%Y%m%d”).tar.gz
OldWeb=Web_$(date -d -5day +”%Y%m%d”).tar.gz
#删除本地3天前的数据
rm -rf /home/backup/Data_$(date -d -3day +”%Y%m%d”).tar.gz /home/backup/Web_$(date -d -3day +”%Y%m%d”).tar.gz
cd /home/backup
#导出数据库,一个数据库一个压缩文件
for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e ‘SHOW DATABASES’ | xargs`; do
(/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 – > ${db}.sql.gz)
done
#压缩数据库文件为一个文件
tar zcPf /home/backup/$DataBakName /home/backup/*.sql.gz
rm -rf /home/backup/*.sql.gz
#发送数据库到Email,如果数据库压缩后太大,请注释这行
#echo “主题:数据库备份” | mutt -a /home/backup/$DataBakName -s “内容:您的数据库备份” $MAIL_TO
#压缩网站数据
tar zcf /home/backup/$WebBakName $WEB_DATA
#上传到FTP空间,删除FTP空间5天前的数据
ftp -v -n $FTP_IP << END
user $FTP_USER $FTP_PASS
type binary
cd $FTP_backup
delete $OldData
delete $OldWeb
put $DataBakName
put $WebBakName
bye
END

 

Linux tar

tar
格式: tar [选项] [文件目录列表]
功能: 对文件目录进行打包备份
选项:
-c 建立新的归档文件
-r 向归档文件末尾追加文件
-x 从归档文件中解出文件
-O 将文件解开到标准输出
-v 处理过程中输出相关信息
-f 对普通文件操作
-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩

1.用tar打包一个目录下的文件:#tar -cvf /mnt/lgx/a1.doc
生成一个以.tar为扩展名的打包文件

2.用tar解开打包文件:#tar -xvf /mnt/lgx/a1.doc.tar
通常情况下,tar打包与gzip(压缩)经常联合使用。方法:
首先用tar打包,如:#tar -cvf /mnt/lgx/a1.doc (产生a1.doc.tar文件)
然后用gzip压缩a1.doc.tar文件,如:#gzip /mnt/lgx/a1.doc.tar (产生a1.doc.tar.gz文件)
3.解压a1.doc.tar.gz文件
方法1:
#gzip -dc /mnt/lgx/a1.doc.tar.gz (产生a1.doc.tar文件)
#tar -xvf /mnt/lgx/a1.doc.tar (产生a1.doc文件)
这两次命令也可使用管道功能,把两个命令合二为一:
#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf
方法2:使用tar提供的自动调用gzip解压缩功能
#tar -xzvf /mnt/lgx/a1.doc.tar.gz
经过tar打包后,也可用compress命令压缩(注:gzip比compress压缩更加有效),产生一个以.tar.Z的文件,在解包时,可先用 “uncompress 文件名”格式解压,然后用“tar -xvf 文件名”解包。也可直接调用“tar -Zxvf 文件名”解包。