Sto provando a scrivere un file launchd.plist per il mio server nodo. Sto usando per sempre per eseguire il mio server nodo. Vorrei che il server iniziasse all'avvio. Vorrei anche aspettare che mongodb launchd plist venga eseguito per primo.OSX launchd plist per il processo nodo per sempre
Ho installato mongobb usando homebrew ed è già presente con un launchd.plist. Ho eseguito il seguente:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
plist per MongoDB è:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.mongodb</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mongodb/mongod</string>
<string>run</string>
<string>--config</string>
<string>/usr/local/etc/mongod.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>WorkingDirectory</key>
<string>/usr/local</string>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/mongodb/output.log</string>
<key>StandardOutPath</key>
<string>/usr/local/var/log/mongodb/output.log</string>
<key>HardResourceLimits</key>
<dict>
<key>NumberOfFiles</key>
<integer>1024</integer>
</dict>
<key>SoftResourceLimits</key>
<dict>
<key>NumberOfFiles</key>
<integer>1024</integer>
</dict>
</dict>
</plist>
Se spegnere il computer e riavviare MongoDB spara come dovrebbe.
Tuttavia il mio server di nodo non si avvia. Qualche idea?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<false/>
</dict>
<key>Label</key>
<string>com.test.app</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/forever</string>
<string>-a</string>
<string>-l</string>
<string>/var/log/app/app.log</string>
<string>-e</string>
<string>/var/log/app/app_error.log</string>
<string>/data/server/app.js</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>3600</integer>
</dict>
</plist>
EDIT:
la scrittura di file di log e vedo questo:
ENV: nodo: No such file or directory
Credo che questo significa che il nodo binario non può essere trovato. Posso echo $ PATH e/usr/local/bin è nel mio percorso. Posso avviare il nodo dal terminale. Idee?
Questo non funziona come previsto. Mentre avvierà "app.js", non potrai vederlo girare per sempre con "sudo forever list' o" forever list ". – jczaplew
è necessario inserire start prima che app.js sia forte, quindi è possibile elencare tutte le app nodo in esecuzione ... –
erwin