环境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
[[email protected] ~]# cd /server
[[email protected] server]# rpm -ivh jre-8u77-linux-x64.rpm
[[email protected] 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)
配置环境变量
[[email protected] 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使参数生效
[[email protected] server]# source /etc/profile
2、安装compat-libstdc++
[[email protected] server]# yum install compat-libstdc++*
3、安装nutch
登录nutch用户
[@Nutch server]# su - nutch
赋予nutch用户权限
[[email protected] ~]$ chown -R nutch.nutch /server/
解压nutch
[[email protected] ~]$ cd /server/
[[email protected] server]$ tar zxvf nutch-1.0.tar.gz
修改解压后文件名称为nutch
[[email protected] server]$ mv nutch-1.0 nutch
4、安装tomcat
解压tomcat
[[email protected] server]$ tar zxvf apache-tomcat-8.5.0.tar.gz
修改解压后文件名称tomcat
[[email protected] server]$ mv apache-tomcat-8.5.0 tomcat
启动tomcat(防火墙8080已开放)
[[email protected] server]$ tomcat/bin/startup.sh
浏览器登录http://<ip>:8080查看是否成功
5、配置tomcat
删除tomcat/webpaas/ROOT下所有文件
复制nutch文件夹下nutch1.0.war至tomcat/weapps/ROOT下
[[email protected] ~]$ cp /server/nutch/nutch-1.0.war /server/tomcat/webapps/ROOT/nutch.war
进入ROOT目录下解压nutch.war
[[email protected] ~]$ cd /server/tomcat/webapps/ROOT
[[email protected] ROOT]$ jar xvf nutch.war
启动tomcat进入浏览区查看是否可以进入nutch搜索界面
[[email protected] ROOT]$ /server/tomcat/bin/startup.sh
配置nutch-site.xml文件
[[email protected] ROOT]$ cd /server/tomcat/webapps/ROOT/WEB-INF/classes/
[[email protected] classes]$ vi nutch-site.xml
在<configuration></configuration>之间添加以下内容
<configuration>
<property>
<name>searcher.dir</name>
<value>/server/crawl.demo</value> //value的值指向nutch抓取的页面的保存目录
</property>
<property>
<name>http.agent.name</name>
<value>nutch-1.0</value>
<description>HTTP ‘User-Agent‘</description>
</property>
</configuration>
配置 server.xml文件
[[email protected] classes]$ cd /server/tomcat/conf/
[[email protected] conf]$ vi server.xml
找到Connector port="8080"语句并添加最后两句内容
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"/>
保存退出
6、配置nutch
[[email protected] conf]$ cd /server/nutch/conf/
配置crawl-urlfilter.txt文件
[[email protected] 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文件
[[email protected] 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文件
在<configuration></configuration>中间填写一下语句
<configuration>
<property>
<name>http.agent.name</name>
<value>Nutch nutch agent</value>
</property>
<property>
<name>http.agent.version</name>
<value>1.0</value>
</property>
</configuration>
配置urls目录
在/server下新建urls目录
[[email protected] conf]$ cd /server/
[[email protected] server]$ mkdir urls
新建url文件并填写需要搜索的网站域名(本人填写的是http://www.qq.com)
[[email protected] urls]$ vi url
配置nutch抓取的页面的保存目录
[[email protected] conf]$ cd /server/
[[email protected] server]$ mkdir crawl.demo
执行抓取命令
[[email protected] server]$ cd /server/nutch
[[email protected] 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安装完毕