-1
我有nodejs項目運行在centos 7. 我試圖運行我的nodejs項目與命令node start.js
也試過sudo node start.js
但往往掛斷,我也包括一個截圖,你可以在那裏找到:http://prntscr.com/g4ogcf 任何人都可以幫助我嗎?我對此一無所知,因爲它不會返回任何錯誤。Nodejs項目不啓動/掛起
我start.js應用代碼:
const app = require('express')();
const fs = require('fs');
const server = require('http').Server(app);
const cors = require('cors');
const express = require('express');
const Database = require('./Database.js');
const db = new Database();
const cfg = require('./config/config.json');
const io = require('socket.io')(cfg.client.socket_port);
const Router = require('./Router')(db, io);
app.listen(cfg.client.server_port);
app.use(cors());
app.get('/', (req, res) => {
fs.readFile(`${__dirname}/../public/client/app/index.html`, (err, data) => {
if (err)
throw err;
res.send(data.toString())
});
});
app.get('/media', (req, res) => {
if (req.query.cfg) {
res.set('Content-Type', 'application/javascript');
fs.readFile(`${__dirname}/config/config.json`, (err, data) => {
if (err)
throw err;
res.send(`export default ${JSON.stringify(JSON.parse(data).client)}`);
});
}
res.set('Content-Type', 'image/jpeg');
if (req.query.avatar) {
db.getAvatarImg(req.query.avatar).then(x => {
var img = x[0] ? x[0].img : '';
const data = img.replace(/^data:image\/\w+;base64,/, "");
const buf = new Buffer(data, 'base64');
res.send(buf);
});
}
if (req.query.background) {
db.getBackgroundImg(req.query.background).then(x => {
var img = x[0] ? x[0].img : '';
const data = img.replace(/^data:image\/\w+;base64,/, "");
const buf = new Buffer(data, 'base64');
res.send(buf);
});
}
if (req.query.post) {
db.getPostImg(req.query.post).then(x => {
var img = x[0] ? x[0].img : '';
const data = img.replace(/^data:image\/\w+;base64,/, "");
const buf = new Buffer(data, 'base64');
res.send(buf);
});
}
});
app.use(express.static(`${__dirname}/../public/`));
掛?這看起來像正常的行爲。你可以用'./config/config.json'中指定的端口訪問本地主機嗎? –
在每個'require'旁邊添加一個日誌,你應該能夠找出它到達的哪一行。我並不完全相信它實際上是懸掛的,因爲我沒有看到任何日誌,而且你正在「聽」,這會使進程保持活躍狀態 –
您可以將回調傳遞給app.listen函數作爲第二個參數,控制檯登錄東西只是爲了調試 – Teebo