Supervisord给出错误503和502,但独立运行节点应用程序可以正常工作

时间:2019-01-23 01:58:12

标签: node.js supervisord

我有一个应用程序,它是在 NodeJS 中制作的user1下运行的,并使用 Apache 作为前端。

服务器是 LAMP ,带有 CentOS 7.6 和最后一个 cPanel 。无法更改。

程序位于/home/user1/public_html

这是.htaccess文件:

RewriteEngine On
RewriteRule ^$ http://127.0.0.1:60000/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:60000/$1 [P,L]

这是测试server.js文件:

var http = require('http');
var fs = require('fs');

http.createServer(function(req, res){
    fs.readFile('./test.html',function (err, data){
        res.writeHead(200, {'Content-Type': 'text/html','Content-Length':data.length});
        res.write(data);
        res.end();
    });
}).listen(60000);

这是userdomainapp.conf中的/etc/supervisor.d

[program:userdomainapp]
directory=/home/user1/public_html/
command=node /home/user1/public_html/server.js
autostart=true
autorestart=true
environment=NODE_ENV=production
stderr_logfile=/home/user1/public_html/logs/wasteapp.err.log
stdout_logfile=/home/user1/public_html/logs/wasteapp.out.log
user=user1

一些命令:

# cd /home/user1/public_html/
# node server.js
^C
# node /home/user1/public_html/server.js

按预期,当我访问https://userdomain.com时,以上两个命令都输出test.html的内容。如果我以rootuser1身份运行,则是相同的。

我关闭 NodeJS ,并检查网址是否返回 502错误

一切都很好。

然后我运行 supervisord (作为root):

# supervisorctl start userdomainapp
userdomainapp: started 
# supervisorctl status
userdomainapp                         RUNNING   pid 42891, uptime 0:00:12

现在,当我访问https://userdomain.com时,刷新时出现 503 502 错误。另外,如果我在 supervisord 中检查userdomainapp的状态,它会在RUNNINGSTARTING之间来回移动。

  

也要提及的是,在   userdomainapp.conf被保存为属于root用户而不是   user1

supervisorctl maintail中的结果是:

2019-01-23 01:19:03,428 INFO success: userdomainapp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-01-23 01:19:03,664 INFO exited: userdomainapp (exit status 1; not expected)
2019-01-23 01:19:04,668 INFO spawned: 'userdomainapp' with pid 42918
2019-01-23 01:19:05,023 INFO exited: userdomainapp (exit status 1; not expected)
2019-01-23 01:19:06,026 INFO spawned: 'userdomainapp' with pid 42929
2019-01-23 01:19:07,028 INFO success: userdomainapp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-01-23 01:19:07,156 INFO exited: userdomainapp (exit status 1; not expected)
2019-01-23 01:19:08,159 INFO spawned: 'userdomainapp' with pid 42939
2019-01-23 01:19:08,919 INFO exited: userdomainapp (exit status 1; not expected)
2019-01-23 01:19:09,922 INFO spawned: 'userdomainapp' with pid 42951
2019-01-23 01:19:10,924 INFO success: userdomainapp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

有人可以给我提示吗?我真的不知道还能做什么。

0 个答案:

没有答案