新手问题 VPS 开机自动启动 rake sunspot:solr:start

xufeng · 发布于 2014年1月13日 · 最后由 xufeng 回复于 2014年1月15日 · 1900 次阅读
336

请教一下,如何在VPS重启自动开启sunspot,不用手工命令啊?

我知道是很菜鸟的问题,我google了,但是没有找到解决办法。请大神给支个招,

thanks.

rake sunspot:solr:start

共收到 7 条回复
438

1.把要执行的命令写一个shell脚本,然后在/etc/rc.local里加上要执行的脚本(每次重启后自动运行,最简单的办法)。 2.或者写成upstart脚本在/etc/init/目录下(相当于自己创建一个系统服务)。 3.使用supervisor之类的守护工具。

336

cd /var/www/xxx.com && RAILS_ENV=production rake sunspot:solr:start 把上面那段命令加入到/etc/rc.local, 重启后不起作用,请问命令是否写得有问题啊

感谢@beiersi

5017

su - nonrootuser -c "xxx.sh"

96

你要启动的不是sunspot是 solr 应该在server上配置一个solr或者说配置一个tomcat + deploy solr

官方WIKI

https://github.com/sunspot/sunspot/wiki/Configuring-solr-for-use-with-sunspot-in-development,-testing,-and-production

说真的,建议还是换用elasticsearch吧,好用很多

438

#2楼 @xufeng 我猜想可能是rvm的原因,所以应该先source rvm以后再执行rake xxx,另外还要注意rc.local是以root来执行命令,所以有必要使用sudo -u xxx -c "xxx"来执行。

2847

实际上就是

desc "Start Solr Server"
task :start do
  exec 'cd solr/solr && java -jar start.jar'
end

可以写个脚本screen solr jar就好了

336

setup with whenever

config/schedule.rb

every :reboot do command "cd /home/deployer/apps/brandinlabs/current/ && RAILS_ENV=production bundle exec sunspot-solr start --port=8983 --data-directory=/home/deployer/apps/brandinlabs/shared/solr/data --pid-dir=/home/deployer/apps/brandinlabs/shared/pids" end

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册