Ank*_*009 5 amazon-ec2 node.js pm2
我正在将Amazon EC2与Ubuntu一起使用。
我正在使用PM2运行服务器,因为
pm2 start bin/www --log-date-format "YYYY-MM-DD HH:mm" --watch
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是当我尝试在1或2天后访问API时。我会得到错误:
0|www | 2017-11-29 08:30: name error { Error: Can't add new command when connection is in closed state
0|www | at Connection._addCommandClosedState (/var/www/html/perb_nodejs/node_modules/mysql2/lib/connection.js:158:13)
0|www | at Connection.query (/var/www/html/perb_nodejs/node_modules/mysql2/lib/connection.js:621:15)
0|www | at Object.loginTrainer (/var/www/html/perb_nodejs/models/trainer.js:49:29)
0|www | at /var/www/html/perb_nodejs/routes/v1/trainer.js:50:16
0|www | at Layer.handle [as handle_request] (/var/www/html/perb_nodejs/node_modules/express/lib/router/layer.js:95:5)
0|www | at next (/var/www/html/perb_nodejs/node_modules/express/lib/router/route.js:137:13)
0|www | at Route.dispatch (/var/www/html/perb_nodejs/node_modules/express/lib/router/route.js:112:3)
0|www | at Layer.handle [as handle_request] (/var/www/html/perb_nodejs/node_modules/express/lib/router/layer.js:95:5)
0|www | at /var/www/html/perb_nodejs/node_modules/express/lib/router/index.js:281:22
0|www | at Function.process_params (/var/www/html/perb_nodejs/node_modules/express/lib/router/index.js:335:12) fatal: true }
Run Code Online (Sandbox Code Playgroud)
然后,我必须重新启动PM2实例。
我了解到由于封闭的连接,我面临着这个问题。但是为什么在我使用PM2时会发生这种情况。我认为PM2应该做同样的工作。
package.json
{
"name": "",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.18.2",
"cookie-parser": "~1.4.3",
"cors": "2.8.4",
"debug": "~2.6.9",
"express": "~4.15.5",
"jade": "~1.11.0",
"morgan": "~1.9.0",
"multer": "1.3.0",
"mysql2": "1.5.0",
"path": "0.12.7",
"request": "2.83.0",
"serve-favicon": "~2.4.5"
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:我认为不是因为服务器,而是数据库连接已关闭。
任何帮助将不胜感激。
| 归档时间: |
|
| 查看次数: |
1934 次 |
| 最近记录: |