关于apache下网站加速利器mod-pagespeed

自从有了自己独立服务器,一直认为自己网站速度还是挺快的,但自从上了监控宝之后,发现其实自己服务器的服务经常断。有很多时候网站是不可用的,这个让我很郁闷。一直在看dbanotes(大冯)的博客,知道他的服务器跟我都是在linode下,并且都是linux。然而我们的网站访问速度大相径庭。这一点肯定是我服务器没有配置好。
于是我通过查看两个网站页面HTTP状态,发现两个网站的网页返回HEAD信息差别不大,只有一个X-Mod-Pagespeed信息不知道是做什么的。看来这个参数的作用很大。
原来这是贴心的 Google 特为懒惰型网站主提供了傻瓜化解决方案,据称该模块可以有效将网页加载速度提高50%,Google这款加速模块简单的解决了许多复情况的问题:
-如果你的网站采用apache构建服务器,不需要对网站CMS系统进行处理即可应用;
-加速模块可以自行对网络传输的html字节优化及对图象,css进入压缩优化传输;
-智能缓存是一大亮点,它可以自动智能缓存,加速下载

以下是这个模块的版本
mod_pagespeed 32-bit .deb (Debian/Ubuntu)
mod_pagespeed 64-bit .deb (Debian/Ubuntu)
mod_pagespeed 32-bit .rpm (CentOS/Fedora)
mod_pagespeed 64-bit .rpm (CentOS/Fedora)
具体的安装方法:
首先先下载模块到服务器
如果你是debian的系统请运行一下命令
dpkg -i mod-pagespeed-*.deb
apt-get -f install
如果是centos的系统则
yum install at
rpm -U mod-pagespeed-*.rpm

重启APACHE后你会发现速度真的快了

相关日志

  • 2011-03-24 -- linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
    手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。 自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。 ...
  • 2010-12-29 -- 如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
    配置一台云服务器,干干净净的系统,我用Yum安装了apache后,发现启动时候报错 httpd: apr_sockaddr_info_get() failed for xxxx 虽然启动还算正常,...
  • 2009-05-25 -- 在linux下安装Siege进行压力模拟测试
    Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进...
  • 2008-10-28 -- linux下解决apache虚拟主机的Could not resolve host name错误
    在LINUX下APACHE的虚拟主机的配置是个技术活儿,很多小的细节需要顾虑 当你的域名没有绑定好的时候,就会出现以下这个错误 Could not resolve host name ...
  • 2008-09-19 -- linux关闭防火墙
    新LINUX安装完,发现配置完apache后没法访问,估计是防火墙问题。 /etc/init.d/iptables status 会得到一系列信息,说明防火墙开着。 /etc/in...
  • 2008-09-17 -- 高性能网站架构-LLMP
    在网站架构设计中,大家一定对 LAMP (LinuxApacheMysqlPhp) 不陌生。 LAMP确实是一个非常优秀的架构,秉承着自由,开放,高效,易用的设计理念。 但是,本文不打算探讨LAM...

php中json编码和解码的一些提示

对于php下的web service应用,json因其快速,轻量在小数据量传输的时候非常有优势,但用的时候有些小细节需要注意。我就是把数组存进去,再取出来的时候发现变成对象了,才发现原来是这样。
在运行环境上,json在php5.2以上才是内置的。
常用的方法是json_encode和json_decode。
json_encode的参数只有一个,就是要被转换的数据,而json_decode就不一样,他可以把json格式转换成对象(object)和数组两种
下面是个例子
$arr = array(”1″,”2″,”3″);
print_r($arr);
echo json_encode($arr);
print_r(json_decode(json_encode($arr)));
print_r(json_decode(json_encode($arr), true));

如果数组转成json,想解码回来的,别忘了加个参数true

相关日志

本博已于今天正式迁移到Linode

为了便于管理今天本博已正式迁移到了linode,linode在东京的机房步给力啊,怎么有时候会ping超时呢

特此记录以下。

相关日志

  • 2011-03-28 -- linode服务器重装全纪录
    大家都说linode好用,还真的好用,这么一转眼就用了一年半了。最近刚刚重装了自己在LINODE的服务器。在此之前,我用的是debian,后来发现centos用起来太方便了。于是就琢磨着把系统换一下。...
  • 2012-01-14 -- 关于apache下网站加速利器mod-pagespeed
    自从有了自己独立服务器,一直认为自己网站速度还是挺快的,但自从上了监控宝之后,发现其实自己服务器的服务经常断。有很多时候网站是不可用的,这个让我很郁闷。一直在看dbanotes(大冯)的博客,知道他的...
  • 2011-03-24 -- linux centos 5 lamp(apache mysql php) yum自动安装shell脚本
    手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。 自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。 ...
  • 2011-03-18 -- 如何查看CentOS版本方法
    有以下命令可以查看: # lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:gra...
  • 2010-12-29 -- 如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
    配置一台云服务器,干干净净的系统,我用Yum安装了apache后,发现启动时候报错 httpd: apr_sockaddr_info_get() failed for xxxx 虽然启动还算正常,...
  • 2010-08-27 -- 如何解决CentOS 5 host命令无效(-bash: host: command not found)的问题
    当我们检查DNS设置的时候常常会用到host命令,但Centos5默认安装是没有这个命令的。 当显示-bash: host: command not found的时候,我们就需要安装对应的包了 ...

游戏服务器管理-文件同步的解决方案

服务器均使用LINUX的CENTOS,同步程序使用Rsync,台湾服务器为Rsync的服务端

服务端配置

同步软件安装
yum -y install xinetd

启动rsync服务端
#rsync –daemon

配置同步软件为可用
vi /etc/xinetd.d/rsync

# default: off
# description: The rsync server is a good addition to an ftp server, as it /
# allows crc checksumming etc.
service rsync
{
disable = no // change
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = –daemon
log_on_failure += USERID
}
配置本地同步参数
vi /etc/rsyncd.conf

[game-test-taiwan]
path = /var/www/
host allow = xx.xx.xx.xx
host deny = *
list = true
uid = root
gid = root

客户端配置

安装同步软件
yum install -y rsync
配置排除指定目录或文件(每条记录占一行,支持通配符)
vi /etc/rsync-exclude-test

/xxxxxx

执行同步(从服务器端下拉)
rsync -avz –delete –exclude-from=/etc/rsync-exclude-test 203.69.85.43::game-test-taiwan /var/backup
执行同步(从客户端上传)
rsync -avz –delete –exclude-from=/etc/rsync-exclude-test /var/backup 203.69.85.43::game-test-taiwan/forrsync

相关日志

  • 暂无相关日志

wordpress获取当前分类页的ID

最近搞WORDPRESS的最新版,做模板的时候想获取当前分类的ID,以下是实现代码

获取当前分类页的ID
<?php if (is_category()) {
global $wp_query;
$cat_id = $wp_query->get_queried_object_id();
}
?>

相关日志

  • 暂无相关日志

android开发笔记

1. 修改了创建工程时候的默认activity的名称,发现发布项目时不能正常编译。编译的还是旧的名称,显示找不到:ActivityManager: Error: Activity class does not exist.
解决办法:在项目的根目录修改配置文件AndroidManifest.xml中的application中的activity
2. 对两个activity做跳转,发现部署后一直报错并“意外停止”,这是简单的小程序,不可能吃内存太多的。肯定是哪里不对。启用了debug模式,知道到logcat,发现里面有这样一句“ have you declared this activity in your AndroidManifest.xml”,看来又是AndroidManifest.xml的配置问题。果然在其中加了后,跳转后的activity正常了。
3. android程序在调试时出现了套接字异常“java.net.SocketException: Permission denied”。这是一个经典错误, Socket不能对外连接,错误不会被报出,调试的时候,能看到Exception, 一般是抛出 java.net.socketexception permission denied这个异常。只要你的程序想联网,就会抛出这个异常,最终联网失败。 原因是: 需要访问到网络必须要有权限,在AndroidManifest.xml中,需要进行如下配置:
4. could not write file images\/system.img, No space left on device一般的目录是这里C:\Documents and Settings\Administrator\.android,而这个盘已经满了,只剩下几十M的容量是不够的。(系统盘一般是C盘),因为空间不足就无法启动,删了一些文件后重新运行eclipse就好了
5. 往string[] 添加元素的方法,一个for循环中 string[i] = 对应item[i]

相关日志

Android开发常见问题及解决方法

1.ActivityManager: Warning: Activity not started, its current task has been brought to the front
说明:模拟器中已经有一个实例在运行。
解决方法:退出模拟器中运行的程序,再次运行即可解决!

2.No grammar constraints (DTD or XML schema) detected for the document
说明:在编辑器中看到像这样关于缺少语法约束(DTD 或 XML 架构)的警告,尽管忽略这些警告。
解决方法:windows -> preferences -> xml -> xml files -> validation -> Indicate when no grammar is specified: 选择Ignore即可。

3.R.java: no such file or directory
说明:R类不存在。
解决方法:Windows->Preference->Java->Build Path中,将Folders改为选中Projects即可。

4.res\layout\*.xml: Invalid file name: must contain only [a-z0-9_.]
说明:样式XML的文件名起的不符合要求。文件名中只能是小写英文字符、数字、”_”或者”.”。

5.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
说明:这样的问题主要是签名冲突造成的,比如你使用了ADB的debug权限签名,但后来使用标准sign签名后再安装同一个文件会出现这样的错误提示。
解决方法:卸载原有版本再进行安装,而adb install -r参数是无法解决这个问题。

6.Android程序为什么没有退出设计?
答:Google Android平台在设计程序声明周期上比较特殊,可能是考虑到第二次加载时保证速度的原因而没有强制加入内存释放问题,所有的资源回收由Dalvik GC自动完成,所以在设计开发时一定要注意Activity和 Service类的生命周期问题,显示在最上层的窗口将有最高的优先级,当Android操作系统内存不够用时自动将会根据历史栈按优先级强制杀掉进程。

7.Emulator Control GPS轨迹发送按钮有时会变灰不可点。
答:重启Eclipse。

相关日志

  • 2011-04-29 -- android开发笔记
    1. 修改了创建工程时候的默认activity的名称,发现发布项目时不能正常编译。编译的还是旧的名称,显示找不到:ActivityManager: Error: Activity class does...
  • 2010-12-04 -- 如何解决PHP XML RPC中文乱码问题
    为了一个项目在做XMLRPC的应用。发现项目服务器上没有XMLRPC组件,又要重新编译PHP,头大... 找了很多资料发现,国外的一个叫PHPXMLRPC的开源代码很好用。直接代替XMLRPC组件。...
  • 2009-12-31 -- 新年新气象,PR大更新,别去管那些SEO了,安心做站吧
    不出所料,新年到了,GOOGLE的PR的更新时间也到了。自己的两个站都不出所料的提高了,murray.cn(PR3)上升1,youtianxia.net(PR3)上升2,从安心修理这两个站到现在也就半...
  • 2009-10-30 -- 今天GOOGLE又开始跳舞了?
    今天GOOGLE又开始跳舞了?因为游天下(youtianxia.net)这个域名劫持的问题,我这些日子一直在关注GOOGLE 今天我突然发现我的这个blog的PR从0变到2了,而且几个服务器的数据不...
  • 2009-10-27 -- 遭遇域名PR劫持,白欢喜一场
    自己的一个旅游站(游天下 youtianxia.net)的PR一直在2和3徘徊,由于没有时间去做推广,也就这么放着了,任其自生自灭。忽然有一天,一个站长加我的QQ要跟我交换链接,他的站是PR=4的,我...
  • 2008-12-09 -- 注意:什么导致搜索引擎不收录页面
    现在搜索引擎收录是网站推广的一个很重要的手段,如果辛苦做好站点,网络蜘蛛不过来,是很郁闷的事情。 是什么导致搜索引擎不收录页面?请注意以下几点 网页使用框架 框架内的内容通常不在搜索...

html中title没写完整造成同样的页面firefox可以显示,其他浏览器都是空白

无聊的IE,失败的IE就是个垃圾。
不过也怪自己不好,一个页面在IE中或者在基于IE内核的浏览器中显示为一片空白,但是在火狐浏览器或者其他非IE浏览器中显示正常,这种情况下问题很有可能出现在Title标签上。
这次记住了:
1.title标签未写完整。
如:《title》murray-专注于网站建设及优化《title》,
解决办法:只要把它更改完整应该就没问题。
2.title标签位置不对。
如: 《title》murray-专注于网站建设及优化《/title》

解决办法:将meta标签内和title标签位置互换即可。
原因:Content-Type的位置出现在title之前。这使得IE浏览器不知怎么解释这个数据(按照图片解析还是按照文本解析),IE一片迷茫,所以就出现空白现象。FireFox 会“阅读”完所有代码后判断编码方式,自然不会出现空白现象。

相关日志

  • 2009-07-17 -- css文件后面为什么有参数
    客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 举例来说: 可以看成是css的一个版本号,如果css改动过...
  • 2008-11-20 -- 怎么做网站(基础知识)
    网站说倒底就是我们想要展示的内容在浏览器上的一种表现形式。直到互联网历史的人都知道,在互联网的早期,大家都是通过一个类似现在windows网上邻居的界面来共享信息的。人们要从众多的文件和文件夹中找到自...
  • 2008-09-23 -- 网页性能优化工具
    Firefox Firebug Net panel,见http://www.getfirebug.com Yslow,Yahoo 性能扩展Firebug,见http://developer....
  • 2010-04-21 -- 如何用css把页面变灰,寄托我们的哀思
    方法有很多种,这里做个总结 第一: 最快速度把自己网站变灰,只支持IE~ 在CSS文件或style中加入 *{filter:gray; color:gray;} 第二: html...
  • 2009-12-29 -- 网站收录减少是怎么回事
    网站收录减少的几个现象: 1、网站收录基本正常,只有收录内容减少。 网站收录基本正常,只有收录内容减少,这是常事,特别是对于新站。就像我的两个网站电影网和图片网被引擎收录后,短短几天收录数量突飞猛...
  • 2009-08-18 -- 什么是css框架
    框架就是一个你可以用于你的网站项目的基本的概念上的结构体。 css框架通常只是一些css文件的集合,这些文件包括基本布局、表单样式、网格或简单结构、以及样式重置。比如: typograp...

linode服务器重装全纪录

大家都说linode好用,还真的好用,这么一转眼就用了一年半了。最近刚刚重装了自己在LINODE的服务器。在此之前,我用的是debian,后来发现centos用起来太方便了。于是就琢磨着把系统换一下。在网上,查了好久的资料没有一个相对完整的解决方案。于是,我只好临时买了一个新的linode节点,做测试。下面就把大致的过程写出来。
其实,Linode的系统重装很快很方便。主要就是之前你的数据怎么整理,备份再在重装后恢复回来。
我的解决办法分两步:
1,首先先把现有的linode节点重新划分,把现有的一个镜像盘分为两个,举例来说,我现在的linode系统分为两个硬盘镜像(disk image):512MB Swap Image和Debian Disk Image,其中Debian Disk Image有16G,所有的东西都在这里。我用linode的resize工具现将16G中没有用到的10G划分出来。然后再新建一个硬盘镜像(Create a new Disk Image),把这10G作为一个外挂硬盘来用,命名为:extdisk。(注意:以上操作要先关闭系统)
2,在Lionde的系统配置部分(Configuration Profiles)找到自己的debian配置,点击编辑(edit),找到外挂硬盘(Block Device Assignment)部分,在/dev/xvdc这里下拉找到新建的外挂硬盘extdisk,保存设置。然后启动操作系统。
3,正常登录操作系统,首先查看外挂硬盘是否正常,打入fdisk -l 发现列表中已经有/dev/xvdc,接下来,我们就要想办法把外挂硬盘挂入操作系统了。现在你想挂入的地方新建一个目录,比如我选在根目录新建一个叫extdisk,命令是:mkdir /extdisk,然后用Mount /dev/xvdc /extdisk把外挂硬盘挂入操作系统。命令正常执行后,我们ls /extdisk,发现正常访问,这就表示我们的外挂硬盘正常工作了。我们可以把我们需要备份的文件都拷进来。
4,备份完毕后,关闭操作系统,开始重装。先删除debian的硬盘镜像(Debian Disk Image),然后删除操作系统的配置文件(My Debian Profile),之后在重建一个Linux版本(Deploy a Linux Distribution)就可以了,重建的时候,他会自动把你刚刚删除的硬盘镜像的空间用上,很方便。这次的Linux版本可要选对了,我选择的是Centos 5.5
5,启动centos,在把步骤3中的操作重做一遍,把刚刚的备份硬盘镜像重新挂进来,我们的重装就完成了。

重装系统风险很大,请大家务必慎重哈

相关日志

linux centos 5 lamp(apache mysql php) yum自动安装shell脚本

手头有N台linux centos 5的服务器,每次配置都要打很多命令,不想这么烦下去了。
自己写了一个自动安装脚本,包括了apache mysql php的自动Yum安装。最后还设置了防火墙。
记录一下,想要源文件的可以跟我要。

别忘了,给这个文件这是一个执行权限,简单的来就是chmod 7777

#! /bin/bash
yum -y install httpd php mysql mysql-server php-mysql
echo ‘install httpd,php,mysql,php success’
# define auto run
/sbin/chkconfig httpd on
/sbin/chkconfig –add mysqld
/sbin/chkconfig mysqld on
echo ‘define httpd mysqld autorun success’
# start service
/sbin/service httpd restart
/sbin/service mysqld restart
echo ’start httpd mysqld success’
#define mysql password
mysqladmin -u root password ‘ismurray’
echo ‘define mysql password success’
# install apache ext
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
echo ‘install apache ext success’
# install php ext
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
echo ‘install php ext success’
# install mysql ext
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
echo ‘install mysql ext success’
# define iptables 80 22 3306
/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp –dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
echo ‘define iptables success’

相关日志

  • 2008-09-17 -- 高性能网站架构-LLMP
    在网站架构设计中,大家一定对 LAMP (LinuxApacheMysqlPhp) 不陌生。 LAMP确实是一个非常优秀的架构,秉承着自由,开放,高效,易用的设计理念。 但是,本文不打算探讨LAM...
  • 2010-12-29 -- 如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
    配置一台云服务器,干干净净的系统,我用Yum安装了apache后,发现启动时候报错 httpd: apr_sockaddr_info_get() failed for xxxx 虽然启动还算正常,...
  • 2010-08-27 -- 如何解决CentOS 5 host命令无效(-bash: host: command not found)的问题
    当我们检查DNS设置的时候常常会用到host命令,但Centos5默认安装是没有这个命令的。 当显示-bash: host: command not found的时候,我们就需要安装对应的包了 ...
  • 2011-03-28 -- linode服务器重装全纪录
    大家都说linode好用,还真的好用,这么一转眼就用了一年半了。最近刚刚重装了自己在LINODE的服务器。在此之前,我用的是debian,后来发现centos用起来太方便了。于是就琢磨着把系统换一下。...
  • 2008-11-24 -- 怎么做网站(选择建站开发环境asp,php,jsp)
    选好了网站域名,也知道我们要把网站放在哪里了,那我们用什么来做网站的呢。在我看来,网站的建设其实很有学问,做好选择也是需要好好考虑的。 我个人把网站分为静态站和动态站两大类。它是按照网站的更新方...
  • 2012-01-14 -- 关于apache下网站加速利器mod-pagespeed
    自从有了自己独立服务器,一直认为自己网站速度还是挺快的,但自从上了监控宝之后,发现其实自己服务器的服务经常断。有很多时候网站是不可用的,这个让我很郁闷。一直在看dbanotes(大冯)的博客,知道他的...