我有 node.js 应用程序,我正在尝试使用 systemd 在生产模式下部署它以在服务器崩溃/重新启动时重新启动它。当我使用“node app.js”启动该应用程序时,该应用程序运行良好(即找到了我的所有公共文件)。但是,当我终止进程并 systemd 重新启动它时,Express 无法再找到我的 css/js 文件。我正在使用 connect-assets 连接我的 css/js 文件。
我认为问题出在我的节点路径上,但我并不完全确定。这是我在 systemd 重新启动应用程序时在浏览器中看到的错误:
500 Error ...
> 11| != css('styles')
12| != js('application')
No file found for route css/styles.css
当我检查使用“node app.js”命令手动启动的过程时,我看到:
ghost 30222 6.8 17.8 140348 90848 pts/0 Sl+ 18:01 0:08 node app.js
当 systemd 重新启动应用程序时,我看到以下内容:
ghost 30332 5.5 9.1 94036 46516 ? Ssl 18:05 0:01 /usr/local/bin/node /home/ghost/myapp/app.js
这是我的服务文件:
[Service]
ExecStart=/usr/local/bin/node /home/ghost/myapp/app.js
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=node-sample
User=ghost
Group=ghost
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target