Linux中用编译的Zlib库替换系统自带的

环境:Centos 5.8 64位
系统自带zlib:1.2.1
安装版本:1.2.3

这段时间在重新编译LNMP,发现linux中很多软件对zlib依存都比较大,但是系统中安装的版本都比较低,如果用yum直接升级的话,安装nginx时候没法指定zlib的目录,所以要编译安装zlib。编译的话,如果能把系统中已经安装的版本替换掉,这样才是最好的.但是由于在编译过程中,很多工具都对zlib有依存,所以掌握顺序非常必要,下面是博主在毫无指导资料的情况下,尝试了差不多一天总结出来的经验:

1,下载,解压 zlib1.2.3到/usr/local/src/下

2,查看一下zlib安装文件,rpm -ql zlib,可以看到库文件在lib64下

3,配置zlib,参数为 ./configure –prefix=/usr/local/zlib/,也可以加上–libdir=/lib64/直接指定库文件安装位置,这里为了我便于管理,就把所有文件放在一个目录下
…阅读更多>>

Centos升级zlib库导致yum运行错误

今天在编译LNMP环境时,遇到系统zlib版本有点低,由于Nginx需要指定zlib库安装位置,所以干脆就直接替换掉系统自带的zlib。在这里遇到了一个问题:升级zlib时候,是用yum直接升级呢,还是先卸载掉原来的,然后编译安装。如果是用yum升级的话,nginx安装时候指定zlib位置时用哪个?由于不能解决解决这个问题,所以最终我选择编译安装zlib,去官网下载了最新版本,然后编译,编译时指定安装目录为/usr/local/zlib,库文件路径为/lib64,编译完成之后,其它一切正常,却发现yum运行不正常,一直提示Segmentation fault

网上查了一些资料,最终在centos的网站上找到了关于这个信息的描述,原来是个bug! http://bugs.centos.org/view.php?id=4702&nbn=1上有这样的描述:
Some apps require the latest version of zlib (1.2.5)
After installation from source yum segfaults. (took me ages to figure it out)
Solution, rm -rf /usr/lib/libz.* & reinstall zlib-1.2.3.
Affects all CentOS 4.* and RHEL 4.* versions.

…阅读更多>>

利用try_files指令设置WordPress在Nginx下的伪静态

熟悉Wordpress的都知道,在Apache主机并且apacahe开启allowoverride的情况下,Awordpress能够非常方便的设置其固定链接,不论wordpress是否安装下网站根目录或者二级目录下。这得益于apache具有“分布式文件管理系统”,也就是”.htaccess”这个文件,它能够非常方便的加入或者更改apache主机对当前目录的设置,包括伪静态(rewriteRule),访问权限等。当安装wordpress的时候,网站会自动在当前安装目录生成.htaccess文件,方便把网站的显示权限交给wordpress。在nginx下,一切就就没有这么方便了,nginx官方早有表态,不会支持这种分布式管理的方式,因为这样比较耗费资源。那么,在nginx主机下,怎么让wordpress和在apache主机上显示一样呢?其实主要就是伪静态的问题,我们先来看一下apache下的.htaccess文件:
…阅读更多>>

Javascript的本地存储功能浅析

在日常的操作过程中,在所难免的需要利用Javascript在用户本地存储一些数据,以达到一些不能用服务器来识别的功能,如识别用户的第二次访问等。常用的方法有cookie,IE的userData,以及localStorage等,由于userData只有IE支持,它的可扩展性并不大。

cookie:

cookie的好处是用户每请求一次服务器数据,cookie则会随着这些请求发送到服务器,服务器脚本语言如PHP等能够处理cookie发送的数据,可以说是非常方便的。但是它的缺点也显而易见,除开我们经常说的,浏览器对cookie数量,大小的限制,我觉得更重要的一点,用js对cookie的操作相当的繁琐,浏览器只提供document.cookie这样一个对象,对cookie的赋值,获取都比较麻烦而在PHP中,我们可以通过setcookie()来设置cookie,通过$_COOKIE这个超全局数组来获取cookie。下面是我封装的Javascript操作和获取cookie的函数:
…阅读更多>>

怎么样实现jQuery的document.ready方法

什么是document.ready?
说document.ready之前,先要讲讲window.onload。我们知道如果在网页头部执行获取或改变dom结构的操作,必须要把相关操作函数放在window.onload当中。为什么需要这样操作呢?看看下面的例子:

<!DOCTYPE HTML>
<html lang="en">
<head>
<script>
var a=document.getElementById("demo");
alert(a);
</script>
</head>
<body>
<div id="demo">DEMO</div>	
</body>
</html>

当我们访问alert(a)时,会弹出null,实际上,这是告诉我们对象没有找到,为什么呢?因为在这句代码执行的时候,后面的DOM结构并没有加载出来,所以我们用document.getElementById找不到这个对象。为了解决这个问题,我们用到了window.onload,onload这个方法是告诉浏览器,在整个HTML文档加载完毕之后执行相关代码,这样以来,就不会出现找不到对象了。
…阅读更多>>

用Minify合并css和Javascript文件以减少HTTP请求

在web前端的优化中,一个网站的打开速度仍然是衡量网站质量的重要指标之一,而网页本身的HTML文件一般都是比较小的,所以影响网页的加载速度的最关键的一般都是资源的加载速度。一个网页中的请求太多,一般情况下会严重影响打开速度。为了提高网站速度和用户体验,我们不得不减少请求数量,一方面,一些先进的技术不断的应用到实际中,如利用css sprite技术合并网页背景图片来减少请求,另一方面随着网站体积和规模的不断扩大,我们不得不把一些东西分开,以便扩展和管理。

一个大型的网站,不论是css或者Javascript等其它文件,不可能只有一个,但是从提高前端的体验来说,我们希望请求越少越好。当矛盾出现的时候,一些新技术就应运而生,Minfy就是其中优秀的代表.
…阅读更多>>