Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cschwarz/nsm
A service manager for node
https://github.com/cschwarz/nsm
Last synced: 3 months ago
JSON representation
A service manager for node
- Host: GitHub
- URL: https://github.com/cschwarz/nsm
- Owner: cschwarz
- License: mit
- Created: 2013-11-09T18:11:02.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-06-26T19:40:08.000Z (over 10 years ago)
- Last Synced: 2024-11-01T21:42:18.606Z (4 months ago)
- Language: JavaScript
- Size: 1.26 MB
- Stars: 18
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-github-repos - cschwarz/nsm - A service manager for node (JavaScript)
README
nsm - node service manager
==========================A service manager for [node](http://nodejs.org) which makes it easy to install node.js modules as native services (daemons) on Windows, Linux and OS X.
If an installed service fails or the system has been rebooted, the service will be automatically restarted.
Usage
-----```
npm install -g nsm
```A package.json with at least *name*, *description* and *main* is required in the service directory.
Inside the service directory use `nsm` to get a short usage description.
To install and start a service use:
```
nsm --install
nsm --start
```nsm requires root privileges on all platforms.
## Change name/description/script/environment variables
```
nsm --install --name=anothername --script=src/server.js --env.NODE_ENV=production
nsm --start --name=anothername
```Example
-------This example will show you how to install a simple hello world service which crashes after a configurable amount of time.
Following parameters can be configured in config.json:
- port [8000]: port on which the service will listen
- failAfter [45]: amount of time after which the service will throw an unhanded exception (optional)Create a new directory named *services* (e.g.: in your home directory).
```
mkdir services
cd services
```Install sample service which can be found here: [nsm-sample-service](https://npmjs.org/package/nsm-sample-service)
```
npm install nsm-sample-service
```Move into installed sample service directory.
```
cd node_modules/nsm-sample-service
```Install and start the service.
```
sudo nsm --install
sudo nsm --start
```Go to http://localhost:8000 to check whether the service runs. It should report the current uptime and fail after 45 seconds in the default configuration.
After a short amount of time it should be automatically restarted.
If you make changes to your config.json you need to restart the service.
```
sudo nsm --restart
```Troubleshooting
---------------###Windows
```
Error: Cannot find module 'npm'
```Add NODE_PATH (e.g.: C:\Program Files\nodejs\node_modules) to your environment variables.
Credits
-------All credit goes to [coreybutler](https://github.com/coreybutler) who has created the underlying packages ([node-windows](https://github.com/coreybutler/node-windows), [node-linux](https://github.com/coreybutler/node-linux) and [node-mac](https://github.com/coreybutler/node-mac)).