非理性繁荣

Ubuntu Intrepid上的Solango和Tomcat 6

3月6日,2009。根据丹戈乌邦图索兰戈

上周,我花了一些时间在我的vps上设置了solango,以便在这个博客上进行全文搜索(所以在哪里)全文搜索?这是一项正在进行的工作)。我决定去雄猫索尔路线,结果比完全必要的要痛苦一点,很大程度上是因为我对Java服务器生态系统一无所知。

如果你不关心最佳性能,我不会用这些说明,但是会使用与Solr打包的Jetty服务器。这个Solango教程解释如何做到这一点,但你必须读到最后才能真正意识到这一点。也就是说,如果你想提高生产效率,相信Tomcat比Jetty Hype更出色,继续阅读。

本教程主要依赖于关于在Ubuntu上安装solr的本教程,以及SOLANGO安装文件Solango教程.

(这将无缝转换为OS X。)

在Ubuntu Intrepid上设置solr

  1. 如果你没有Java 6,就安装它。

    跟随这些Ubuntu的说明,过程如下:

    sudo emacs/etc/apt/sources.list

    并添加这些设置:

    德伯HTTP协议/ /.档案文件.乌邦图.通用域名格式/乌邦图/无畏的主要的受限制的德伯HTTP协议/ /.档案文件.乌邦图.通用域名格式/乌邦图/无畏的多元宇宙

    然后更新并进行这些安装。

    更新源sudo apt get安装sun-java6-bin sun-java6-jre sun-java6-jdk
  2. 接下来我们需要安装雄猫还有索尔。有几个Ubuntu包声称要为我们处理这个问题,

    sudo apt get安装solr common solr-tomcat5.5

    但我在安装过程中遇到了一些特殊的问题,最终采用了不同的方法(这似乎是一个常见的问题,而不是个人的失败)。

    sudo apt get安装tomcat6wget http://apache.ososul.org/lucene/solr/1.3.0/apache-solr-1.3.0.tgzTAR-XZVF阿帕奇-索尔-1.3.0.tgzcd apache-solr-1.3.0/距离/sudo cp apache-solr-1.3.0.war/var/lib/tomcat6/webapps/solr.warcd../示例/sudo cp-r solr/var/lib/tomcat6/solr

    让我们做一些许可。

    cd/var/lib/tomcat6sudo chgrp-r tomcat6 solrSudo Chmod-R 775索尔/

    最后,我们需要添加一个配置文件。

    /var/lib/tomcat6/conf/catalina/localhostsudo emacs solr.xml文件

    并添加这些设置。

    
               
                文档库=
                “/var/lib/tomcat6/webapps/solr.war”
                调试=
                “0”
                交叉上下文=
                “真”
                >
                
                 
                  名字=
                  “SOLR/主页”
                  类型=
                  “Java.Lang.Stand”
                  价值=
                  “/var/lib/tomcat6/solr”
                  覆盖=
                  “真”
                  >
                  
                 
               

    并调整其权限。

    sudo chgrp tomcat6 solr.xml文件sudo chmod 775 solr.xml文件

    还有一些魔法(来自在这里

    sudo/etc/init.d/tomcat6停止sudo cp-r/var/lib/tomcat6/conf/usr/share/tomcat6/sudo cp-r/var/lib/tomcat6/temp/usr/share/tomcat6/cd/usr/share/tomcat6sudo ln-s/var/cache/tomcat6工作sudo mkdir/usr/share/tomcat6/logs/日志sudo bin/关机.shsudo bin/启动.sh

    别问我为什么要这么做。完成这一步(并让索尔停止犯错)后,我对比这些指示更伟大的事情失去了信心。

    编者按:我写这篇文章的时候可能会休息一天…但是这些指示工作

  3. 作为健康检查,让我们停下来启动Tomcat。

    sudo/etc/init.d/tomcat6停止sudo/etc/init.d/tomcat6启动

    现在转到http://255.255.255.255:8080/solr/admin(更换255.255.255.255使用服务器的IP),您应该看到solr管理屏幕。如果你这样做了,然后您就成功地安装了solr。

  4. 配置的最后一步是,我们可能不希望任何人都能访问solr,所以我们将重新绑定它,以便在本地主机:8080而不是*:8080.

    打开tomcat/conf/server.xml文件.

    sudo emacs/usr/share/tomcat6/conf/server.xml文件

    搜索engine name=“卡特琳娜”(在101号线)在下面添加这一行:

    
               
                =
                “org.apache.catalina.valves.remoteaddrvalve”阀门allow=“127.0.0.1,0:0:0:0:0:0:0:0:1%0,::1”>
               

    为了更好的衡量,让我们将这些更改复制回/变量/lib/tomcat6/.

    sudo cp-r/usr/share/tomcat6/conf/var/lib/tomcat6/

    然后重新启动Tomcat。

    sudo/usr/share/tomcat6bin/shutdown.sh版sudo/usr/share/tomcat6bin/startup.sh版

    并验证Tomcat不能从外部访问:

    curl网址://www.klytx.com:8080/solr/admin/

    还有它内部访问:

    卷曲http://127.0.0.1:8080/solr/

    现在我们结束了。

设置SOLANGO

  1. 检索索兰戈来源于SVN。

    CD~/libs/SVN结帐http://django-solr-search.googlecode.com/svn/trunk/django-solr search
  2. 将solango添加到您的python路径中。

    CD Django Solr搜索ln-s`pwd`/solango/usr/lib/python2.5/site-packages/solango
  3. 复制solango/inital_设置.py文件到项目文件夹中,并将其重命名为solr_设置.py.

    cp solango/initial_settings.py~/git/blog/solr_settings.py
  4. 将solango添加到项目的已安装的应用程序设置在ITS中设置.py文件。

    已安装的应用程序='生命流''压缩''投资组合'“索兰戈”#<--像这样“Django货币化”“……”
  5. 在你的最后设置.py文件,但在导入之前本地设置.py(如果你这样做的话)从导入所有内容Solr_设置.

    尝试Solr_设置进口*除了导入错误通过尝试本地\设置进口*除了导入错误通过
  6. 下一步创建搜索.py您想要搜索的Django应用程序的文件。这个生命流搜索.py如下所示:

    进口索兰戈生命流模型进口注释条目入口文件索兰戈.搜索文档):日期=索兰戈.领域.日期字段()总结=索兰戈.领域.文本字段复制=标题=索兰戈.领域.查菲尔德复制=标签=索兰戈.领域.查菲尔德复制=内容=索兰戈.领域.文本字段复制=DEF转换摘要自己实例):返回实例.总结DEF转换标记自己实例):标签=列表实例.标签.全部的()课文=[标签.标题对于标签在里面标签]返回“,”.参加课文DEF转换日期自己实例):返回实例.发布日期DEF转换内容自己实例):返回实例.身体索兰戈.登记条目入口文件

    具有讽刺意味的是,这实际上与搜索.pySolango教程为另一个Django博客应用程序创建的,柯特兰.

    我连话都没有。(Ed:确认,那是糟糕的一天。

  7. 在本地目录中创建一个solr模式文件。

    python manage.py solr--模式--路径=。/

    现在将它移到solr配置目录中。

    sudo mv schema.xml/var/lib/tomcat6/solr/conf/
  8. 重新启动Tomcat。

    sudo/usr/share/tomcat6/bin/shutdown.sh版sudo/usr/share/tomcat6/bin/startup.sh(sudo/usr/share/tomcat6/bin/startup.sh)
  9. 在一个本地设置.py文件覆盖任何不符合您需要的solango设置。

    #dirname用于日志目录名='/home/django/domains/www.klytx.com/log/'日志文件名=目录名+“solango.log”#对于Solr的东西搜索更新网址=“http://localhost:8080/solr/update”搜索\选择\ URL=“http://localhost:8080/solr/select”搜索网址=[“http://localhost:8080/solr/admin/ping”,]solr_根='/var/lib/tomcat6/solr'solr_模式路径=solr_根+'/conf/schema.xml'数据目录=solr_根+'数据'

    请注意确保您的服务器可以写入日志文件名文件。如果您从Ubuntu和Django年鉴,您需要这样做:

    chmod 775~/domains/www.klytx.com/log/域/触摸solango.logchown django solango.log.周德江戈索兰戈.logchgrp www数据solango.logchmod 775 solango.log公司

    (只有前两个七项很重要,最后一个数字可以是任意数字,具体取决于您的喜好。)

  10. 现在我们需要为搜索编制内容索引。

    光盘~丹戈//莱森.通用域名格式/博客/苏多管理.Py索尔——重新索引

    如果你得到提升值错误,“XML无效或丢失”,然后你需要停下来启动Tomcat。

    sudo/usr/share/tomcat6/bin/shutdown.sh版sudo/usr/share/tomcat6/bin/startup.sh(sudo/usr/share/tomcat6/bin/startup.sh)
  11. 现在应该可以开始搜索了。启动项目的外壳。

    ~django/domains/www.klytx.com/lethain_env/bin/python manage.py外壳

    然后执行一些搜索。

    > >索兰戈进口连接> >结果=连接.选择Q='Django'> >结果.成功> >结果.文件
  12. 从这里你可以参考Solango教程如果你想使用它的预打包搜索视图,或者根据需要开始编写自己的包装。

抱歉,本教程有点粗糙。Tomcat6包装中的一些布局决策让我有点困惑,也许是因为我有限的Java服务器背景。我一直想知道编写Java Web应用程序会是什么样的…