node.js - 错误: EACCES: permission denied with forever

标签 node.js socket.io forever nodemon

我在 Debian 服务器上的 socket.io 中有一个脚本。 我安装了 Forever 和 nodemon。

当我使用nodemon或forever启动我的脚本时,它工作得很好。 但是,当我在 Linux 服务中推送此命令时,它失败了。

这是我的服务:

[Unit]
Description=Chat

[Service]
WorkingDirectory=/var/www/mysite/web
ExecStart=/usr/bin/forever start /var/www/mysite/web/server.js
Restart=always
RestartSec=500ms
User=www-data
Group=www-data

[Install]
WantedBy=multi-user.target

当我检查journalctl时出现此错误:

Error: EACCES: permission denied, open '/var/www/.forever/YEAA.log'

这里是完整的错误:

déc. 27 13:45:05 vps32913 forever[7558]: warn: --minUptime not set. Defaulting to: 1000ms
déc. 27 13:45:05 vps32913 forever[7558]: warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
déc. 27 13:45:05 vps32913 forever[7558]: info: Forever processing file: /var/www/mysite/web/server.js
déc. 27 13:45:05 vps32913 forever[7558]: fs.js:646
déc. 27 13:45:05 vps32913 forever[7558]: return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
déc. 27 13:45:05 vps32913 forever[7558]: ^
déc. 27 13:45:05 vps32913 forever[7558]: Error: EACCES: permission denied, open '/var/www/.forever/YEAA.log'
déc. 27 13:45:05 vps32913 forever[7558]: at Object.fs.openSync (fs.js:646:18)
déc. 27 13:45:05 vps32913 forever[7558]: at Object.forever.startDaemon (/usr/lib/node_modules/forever/lib/forever.js:460:14)
déc. 27 13:45:05 vps32913 forever[7558]: at /usr/lib/node_modules/forever/lib/forever/cli.js:319:15
déc. 27 13:45:05 vps32913 forever[7558]: at /usr/lib/node_modules/forever/lib/forever/cli.js:162:5
déc. 27 13:45:05 vps32913 forever[7558]: at /usr/lib/node_modules/forever/lib/forever.js:412:11
déc. 27 13:45:05 vps32913 forever[7558]: at FSReqWrap.oncomplete (fs.js:152:21) 

最佳答案

也许永远无法访问.forever文件夹?

你能尝试使用这样的 chmod 吗?

chmod 644 /var/www/.forever 

编辑

如果它不起作用,您可能应该以 root 用户身份永远启动

也许有类似的东西?

[Service]
...
User=root
Group=root

希望有帮助。

关于node.js - 错误: EACCES: permission denied with forever,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47992798/

相关文章:

node.js - 将 `npm start` 与 --inspect 标志一起使用?

node.js - 使用 Passport-twitter 设置 locomotivejs 的最佳方法?

javascript - 我将如何在 node.js 中唯一标识一台计算机?

javascript - 刷新页面时Socket.io多个连接

javascript - Socket.io 将两个客户端添加到房间

node.js - 永远 -p/var/run/forever 被忽略

node.js - 清理.forever登录nodejs

Node.js + Sequelize + SQL Server

linux - Nodemon + 永远不检测文件更改

ruby-on-rails-3 - 直接从 Rails 应用程序向 Node.js 和 Socket.io 推送服务器发送消息