Upstart env stanza not setting environment variables (like NODE_ENV) for Node.js application
-
29-10-2019 - |
Question
I have an Upstart script for my server that looks like this:
description "myapp node.js server"
start on runlevel [2345]
stop on shutdown
env NODE_ENV=production
env CUSTOM=somevalue
exec sudo -u nodejs /usr/local/bin/node /opt/myapp/app.js >> /var/log/nodejs/myapp.log 2>&1
post-start script
NODE_PID=`status myapp | egrep -oi '([0-9]+)$' | head -n1`
echo $NODE_PID > /var/run/nodejs/myapp.pid
end script
However, the app doesn't see NODE_ENV set to production. In fact, if I console.log(process.env) within the app, I don't see NODE_ENV or CUSTOM. Any ideas what's happening?
By the way, NODE_ENV=production node app.js works just fine.
No correct solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow