So, running solr as a service also runs it as a process. In typical Linux environments, (based on initscripts), a service is a process installed to meet additional considerations:
- Putting logs in predictable places where system operators and administrators expect to see logs - /var/logs - Putting dynamic data that varies again in predictable places where system administrators expect to see dynamic data. - Putting code for the process in /opt/solr - the /opt filesystem is for non-operating system components - Putting configuration files for the process again in predictable places. - Running the process as a non-root user, but also as a user that is not any one user's account - e.g. a "service" account - Making sure Solr starts at system startup and stops at system shutdown - Making sure only a single copy of the service is running The options implemented in the install_solr_service.sh command are meant to be generic to many Linux environments, e.g. appropriate for RHEL/CentOS, Ubuntu, and Amazon Linux. My organization is large enough (and perhaps peculiar enough) to have its own standards for where administrators expect to see logs and where dynamic data should go. However, I still need to make sure to run it as a service, and this is part of taking it to production. The command /sbin/service is part of a package called "initscripts" which is used on a number of different Linux environments. Many systems are now using both that package and another, "systemd", that starts things somewhat differently. Hope this helps, Dan Davis, Systems/Applications Architect (Contractor), Office of Computer and Communications Systems, National Library of Medicine, NIH -----Original Message----- From: Binoy Dalal [mailto:binoydala...@gmail.com] Sent: Wednesday, February 17, 2016 2:17 AM To: SOLR users group <solr-user@lucene.apache.org> Subject: Running solr as a service vs. Running it as a process Hello everyone, I've read about running solr as a service but I don't understand what it really means. I went through the "Taking solr to production" documentation on the wiki which suggests that solr be installed using the script provided and run as a service. From what I could glean, the script creates a directory structure and sets various environment variables and then starts solr using the service command. How is this different from setting up solr manually and starting solr using `./solr start`? Currently in my project, we start solr as a process using the `./` Is this something that should be avoided and if so why? Additionally, and I know that this is not the right place to ask, yet if someone could explain what the service command actually does, that would be great. I've read a few articles and they say that it runs the init script in as predictable an environment as possible, but what does that mean? Thanks -- Regards, Binoy Dalal