How to start Solr automatically?

后端 未结 8 611
深忆病人
深忆病人 2020-11-27 10:07

At the moment I have to go to /usr/java/apache-solr-1.4.0/example and then do:

java -jar start.jar

How do I get this to start

8条回答
  •  佛祖请我去吃肉
    2020-11-27 10:51

    As you're on a shared Linux box, you'll have to ask the system administrator to do the following, probably.

    Create a startup script in /etc/init.d/solr.

    Copy this code, my Solr startup script, into that file:

    #!/bin/sh
    
    # Prerequisites:
    # 1. Solr needs to be installed at /usr/local/solr/example
    # 2. daemon needs to be installed
    # 3. Script needs to be executed by root
    
    # This script will launch Solr in a mode that will automatically respawn if it
    # crashes. Output will be sent to /var/log/solr/solr.log. A PID file will be
    # created in the standard location.
    
    start () {
        echo -n "Starting solr..."
    
        # Start daemon
        daemon --chdir='/usr/local/solr/example' --command "java -jar start.jar" --respawn --output=/var/log/solr/solr.log --name=solr --verbose
    
        RETVAL=$?
        if [ $RETVAL = 0 ]
        then
            echo "done."
        else
            echo "failed. See error code for more information."
        fi
        return $RETVAL
    }
    
    stop () {
        # Stop daemon
        echo -n "Stopping solr..."
    
        daemon --stop --name=solr  --verbose
        RETVAL=$?
    
        if [ $RETVAL = 0 ]
        then
            echo "Done."
        else
            echo "Failed. See error code for more information."
        fi
        return $RETVAL
    }
    
    
    restart () {
        daemon --restart --name=solr  --verbose
    }
    
    
    status () {
        # Report on the status of the daemon
        daemon --running --verbose --name=solr
        return $?
    }
    
    
    case "$1" in
        start)
            start
        ;;
        status)
            status
        ;;
        stop)
            stop
        ;;
        restart)
            restart
        ;;
        *)
            echo $"Usage: solr {start|status|stop|restart}"
            exit 3
        ;;
    esac
    
    exit $RETVAL
    

    Then run:

    chkconfig --add solr

    Or (on Ubuntu):

    update-rc.d solr defaults

    ... or, if your Linux distribution doesn't have chkconfig (or update-rc.d), link /etc/init.d/solr to /etc/rc3.d/S99solr and /etc/rc5.d/S99solr and /etc/rc3.d/K01solr and /etc/rc5.d/K01solr:

    % ln -s /etc/init.d/solr /etc/rc3.d/S99solr
    
    % ln -s /etc/init.d/solr /etc/rc5.d/S99solr
    
    % ln -s /etc/init.d/solr /etc/rc3.d/K01solr
    
    % ln -s /etc/init.d/solr /etc/rc5.d/K01solr
    

    Now on reboot Solr will startup in run levels 3 and 5 (console with network & full GUI).

    To start solr manually run:

    % /etc/init.d/solr start
    

提交回复
热议问题