Nginx是一款性能很高的反向代理服务器,而且支持负载均衡的配置,很容易上手,配置简单。另外,Nginx通过模块可以很容易扩展,所以Nginx所拥有的功能集合也是很大的。这里不再累述,可以参考官网文档或者相关资料。 下面,我们在CentOS 6.4上安装配置Nginx。 安装Nginx 首先,需要下载Nginx签名文件: wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 导入Nginx签名文件,执行如下命令: sudo rpm --import nginx_signing.key 然后,可以进行安装了,执行如下命令: sudo yum install nginx 安装过程中,可能会提示安装一些依赖软件包。 等待安装完成后,一些目录和文件的基本信息,如下所示: 进程ID文件为/var/run/nginx.pid Nginx的配置文件存放在/etc/nginx/目录下 可执行程序文件为/usr/sbin/nginx 站点默认目录为/usr/share/nginx/html 错误日志路径为/var/log/nginx/error.log/li> 访问日志路径为/var/log/nginx/access.log 验证安装 查看一下Nginx的帮助信息: sudo /usr/sbin/nginx -h
按作者浏览文章: Yanjun
Solr自动生成ID配置实践
Solr基于Lucene的索引,而索引中的最基本的单元式Document,在Solr中,管理每一个Document(更新、删除、查询),基本都会用到对应的ID,类似关系数据表中的主键。但是,如果我希望Solr能够自动生成这个唯一的ID,有时候也省去了不少的工作,而只需要在Solr中进行配置即可。 下面,通过实例来说明,如何配置Solr支持的UUID。首先,示例的schema.xml对应的表结构,如图所示: 在Solr中配置生成唯一UUID,需要修改两个配置文件: schema.xml schema.xml文件的配置内容,增加如下类型配置: <fieldType name="uuid" class="solr.UUIDField" indexed="true" /> 再增加ID字段的类型,如下所示: <field name="id" type="uuid" indexed="true" stored="true" multiValued="false" required="true" /> 这样还不够,还需要指定在更新索引的时候,使用这个更新策略,即配置一个requestHandler元素。 solrconfig.xml 配置solrconfig.xml文件,修改更新索
Oozie简介与快速入门
Oozie是一个基于工作流引擎的开源框架,是由Cloudera公司贡献给Apache的,它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。 Oozie工作流定义,同JBoss jBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等,Oozie也有类似的一些概念,不做过多解释,更多信息可以参考相关文档。 这里,简单描述一下,Oozie定义了控制流节点(Control Flow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束,以及控制流程的执行路径(Execution Path),如decision、fork、join等;而动作节点包括Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、eMail和Oozie子流程。 下面我们看一下,官方文档中给出的定义流程的例子,流程定义示例如图所示: 这个流程图表达了WordCount统计词频的流程编排功能,非常简单,启动执行一个MapReduce任务,如果成功则正常结束,如果失败则取消该任务。
Ubuntu系统编译安装配置PHP-5.4.7
编译安装PHP,需要依赖libxml2等软件包,首先需要下载这些软件包(地址见后面参考链接)。 下面是整个安装过程的说明: 安装libxml2 下载编译安装过程,如下所示: wget ftp://xmlsoft.org/libxml2/libxml2-2.9.0.tar.gz tar -xvzf libxml2-2.9.0.tar.gz cd libxml2-2.9.0/ sudo mkdir /usr/local/libxml2 sudo ./configure --prefix=/usr/local/libxml2 sudo make sudo make install 安装成功以后,可以查看目录/usr/local/libxml2下面的内容,如下所示: ls /usr/local/libxml2/ bin include lib share libxml2已经安装成功。 安装zlib 下载编译安装过程,如下所示: wget http://zlib.net/zlib-1.2.7.tar.gz tar -xvzf zlib-1.2.7.tar.gz sudo mkdir /usr/local/zlib cd zlib-1.2.7/ sudo ./configure --prefix=/usr/local/zlib sudo make ssudo make install 安装libcurl 下载编译按装过程,如下所示: wget http://curl.haxx.se/download/curl-7.28.0.tar.gz tar -xvzf curl-7.28.0.tar.gz shirdrn@SYJ:~/programs$ cd c
使用JRegex抽取网页信息
当网络爬虫将网页下载到磁盘上以后,需要对这些网页中的内容进行抽取,为索引做准备。一个网页中的数据大部分是HTML标签,索引肯定不会去索引这些标签。也就是说,这种信息是没有用处的信息,需要在抽取过程中过滤掉。另外,一个网页中一般会存在广告信息、锚文本信息,还有一些我们不感兴趣的信息,都被视为垃圾信息,如果不加考虑这些内容,抽取出来的信息不仅占用存储空间,而且在索引以后,为终端用户提供检索服务,用户检会索到很多无用的垃圾信息,势必影响用户的体验。 这里,针对论坛,采用配置模板的方式来实现信息的抽取。使用的工具可以到http://jregex.sourceforge.net上下载,JRegex是一个基于Java的正则库,可以通过在正则模板中指定待抽取信息的变量,在抽取过程中会将抽取到的信息赋给该变量,从而得到感兴趣的信息。而且,JRegex库支持多级分组匹配。 为了直观,假设,有一个论坛的一个网页的源代码形如: <a id="anchor">标题</a> <cont> <author>a1</author> <time>2009</time