环境OracleLinux-R7-U2-Server-x86_64

tomcat8.5官网下载:http://apache.opencas.org/tomcat/tomcat-8/v8.5.0/bin/apache-tomcat-8.5.0.tar.gz

nutch1.0载:http://archive.apache.org/dist/nutch/nutch-1.0.tar.gz

jdk-8u77官网下载:http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.rpm


将下载文件拷贝至/server目录下


1、安装jdk


[root@Nutch ~]# cd /server

[root@Nutch server]# rpm -ivh jre-8u77-linux-x64.rpm

[root@Nutch server]# java  -version

java version "1.8.0_77"

Java(TM) SE Runtime Environment (build 1.8.0_77-b03)

Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

配置环境变量

[root@Nutch server]# vi /etc/profile

在文件最后添加以下内容

export JAVA_HOME=/usr/java/jdk1.8.0_77

export JAVA_BIN=/usr/java/jdk1.8.0_77/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存退出

使用source使参数生效

[root@Nutch server]# source /etc/profile


2、安装compat-libstdc++


[root@Nutch server]# yum install compat-libstdc++*


3、安装nutch


登录nutch用户

[@Nutch server]# su - nutch

赋予nutch用户权限

[nutch@Nutch ~]$ chown -R nutch.nutch /server/

解压nutch

[nutch@Nutch ~]$ cd /server/

[nutch@Nutch server]$ tar zxvf nutch-1.0.tar.gz

修改解压后文件名称为nutch

[nutch@Nutch server]$ mv nutch-1.0 nutch


4、安装tomcat


解压tomcat

[nutch@Nutch server]$ tar zxvf apache-tomcat-8.5.0.tar.gz

修改解压后文件名称tomcat

[nutch@Nutch server]$ mv apache-tomcat-8.5.0 tomcat

启动tomcat(防火墙8080已开放)

[nutch@Nutch server]$ tomcat/bin/startup.sh

浏览器登录http://:8080查看是否成功


5、配置tomcat


删除tomcat/webpaas/ROOT下所有文件

复制nutch文件夹下nutch1.0.war至tomcat/weapps/ROOT下

[nutch@Nutch ~]$ cp /server/nutch/nutch-1.0.war /server/tomcat/webapps/ROOT/nutch.war

进入ROOT目录下解压nutch.war

[nutch@Nutch ~]$ cd /server/tomcat/webapps/ROOT

[nutch@Nutch ROOT]$ jar xvf nutch.war

启动tomcat进入浏览区查看是否可以进入nutch搜索界面

[nutch@Nutch ROOT]$ /server/tomcat/bin/startup.sh

配置nutch-site.xml文件

[nutch@Nutch ROOT]$ cd /server/tomcat/webapps/ROOT/WEB-INF/classes/

[nutch@Nutch classes]$ vi nutch-site.xml

之间添加以下内容


       

                searcher.dir

                /server/crawl.demo   //value的值指向nutch抓取的页面的保存目录

       


       

                http.agent.name

                nutch-1.0

                HTTP 'User-Agent'

       



配置 server.xml文件

[nutch@Nutch classes]$ cd /server/tomcat/conf/

[nutch@Nutch conf]$ vi server.xml

找到Connector port="8080"语句并添加最后两句内容

               connectionTimeout="20000"

               redirectPort="8443" 

  URIEncoding="UTF-8" 

  useBodyEncodingForURI="true"/>

保存退出


6、配置nutch


[nutch@Nutch conf]$ cd /server/nutch/conf/


配置crawl-urlfilter.txt文件

[nutch@Nutch conf]$ vi crawl-urlfilter.txt

将一下内容

# accept hosts in MY.DOMAIN.NAME

+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/

修改为(根据自己搜索的内容更改)

# accept hosts in MY.DOMAIN.NAME

+^http://([a-z0-9]*\.)*com/

+^http://([a-z0-9]*\.)*cn/

+^http://([a-z0-9]*\.)*net/


配置regex-urlfilter.txt文件

[nutch@Nutch conf]$ vi regex-urlfilter.txt

将最后一个行注释掉,并在最后添加以下内容

# accept anything else

#+.

+^http://([a-z0-9]*\.)*com/

+^http://([a-z0-9]*\.)*cn/

+^http://([a-z0-9]*\.)*net/


配置nutch-site.xml文件


中间填写一下语句


       

                http.agent.name

                Nutch nutch agent

       

       

                http.agent.version

                1.0

       



配置urls目录


在/server下新建urls目录

[nutch@Nutch conf]$ cd /server/

[nutch@Nutch server]$ mkdir urls

新建url文件并填写需要搜索的网站域名(本人填写的是http://www.qq.com)

[nutch@Nutch urls]$ vi url


配置nutch抓取的页面的保存目录


[nutch@Nutch conf]$ cd /server/

[nutch@Nutch server]$ mkdir crawl.demo


执行抓取命令


[nutch@Nutch server]$ cd /server/nutch

[nutch@Nutch nutch]$ bin/nutch crawl /server/urls -dir /server/crawl.demo -depth 2 -threads 4 -topN 50 >& /server/crawl.demo/crawl.log

如果报Error: JAVA_HOME is not set可在shell中用nutch执行一次export JAVA_HOME=/usr/java/jdk1.8.0_77


# /server/urls是存放网址的文件夹目录

# -dir /server/crawl.demo是抓取的页面的存放目录,与3.1.2中的设定搜索目录是对应的

# -depth指爬行的深度,这里处于测试的目的,选择深度为 2 ,完全爬行一般可设定为10左右

# -threads指定并发的进程这是设定为 4

# -topN指在每层的深度上所要抓取的最大的页面数,完全抓取可设定为1万到100万,这取决于网站资源数量

# 抓取过程写入/server/crawl.demo/crawl.log中


抓取完毕可到web页面进行搜索


到此为止nutch安装完毕