首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么systemd重启node.js应用时找不到我的css/js文件?

为什么systemd重启node.js应用时找不到我的css/js文件?
EN

Stack Overflow用户
提问于 2014-11-27 07:46:22
回答 1查看 169关注 0票数 0

我有一个node.js应用程序,我正试图在生产模式下部署它,使用systemd在服务器崩溃/重启时重新启动它。当我使用'node app.js‘启动应用程序时,它工作得很好(即我所有的公共文件都被找到了)。但是,当我终止进程并重新启动systemd时,Express不能再定位我的css/js文件。我使用connect-assets来连接我的css/js文件。

我认为问题出在我的节点路径上,但我不能完全确定。这是当systemd重启应用程序时,我在浏览器中看到的错误:

代码语言:javascript
复制
500 Error ...
> 11| != css('styles')
12| != js('application')
No file found for route css/styles.css

当我检查使用'node app.js‘命令手动启动的进程时,我看到:

代码语言:javascript
复制
ghost   30222  6.8 17.8 140348 90848 pts/0    Sl+  18:01   0:08 node app.js

当systemd重新启动应用程序时,我看到以下内容:

代码语言:javascript
复制
ghost   30332  5.5  9.1  94036 46516 ?        Ssl  18:05   0:01 /usr/local/bin/node /home/ghost/myapp/app.js

这是我的服务文件:

代码语言:javascript
复制
[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
EN

回答 1

Stack Overflow用户

发布于 2015-06-09 08:35:08

您需要将WorkingDirectory=设置为Node应用程序的顶级目录,无论该目录在哪里。

例如:

代码语言:javascript
复制
WorkingDirectory=/home/ghost/myapp

或者对于全球安装的应用程序,

代码语言:javascript
复制
WorkingDirectory=/usr/lib/node_modules/myapp
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27160835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档