0

I'm trying to run a node app on my personal blog, which does display the static content, but cannot send POST calls back to the server when I start the server via systemctl. However when I run node index the server starts up and can send POST requests with JSON back to the server. How can I fix my systemd unit to properly start it up with equivalent ability to simply typing node index?

Systemctl service file:

[Unit]
Description=systemd node unit
Documentation=https://XXXX.com
After=network.target

[Service]
Environment=NODE_PORT=7070
Type=simple
User=ubuntu
ExecStart=/usr/bin/node /XXXX/XXXXXX/XXXXXXXX/XX/index.js
Restart=on-failure

[Install]
WantedBy=multi-user.target

Additional context:

-to route to my nodejs server, I use an nginx reverse proxy(:7070->example.com/something)

-my nodejs application functions perfectly fine on my local computer with the node index command

-node -v yields me:

v10.15.0
0

A lot of Node.js apps expect to have their working directory be the directory in which they are stored. But your systemd unit doesn't change the working directory.

You should set the working directory appropriately.

[Service]
WorkingDirectory=/wherever/you/installed/it

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.