我试图在Heroku上部署我的应用程序(ReactJs-NodeJs-Mongo)。
但是当我尝试启动它时遇到问题,我收到一条错误消息,提示“端口****上已经在运行某些东西”。
我的后背在奔跑,但是我的前部不在。
这是我第一次尝试在Heroku上进行部署。所以我想念它。
如何解决此问题?
链接到我的git:https://github.com/romainbor/eteach
这是我在服务器文件夹中的index.js:
const express = require('express');
const bodyparser = require('body-parser');
const security = require('./middleware/security');
const userRouter = require('./routes/user');
const AnnonceRouter = require('./routes/annonce');
const securityRouter = require('./routes/security');
const commentRouter = require('./routes/comment');
const mailRouter = require('./routes/mail')
const path = require('path');
const isDev = process.env.NODE_ENV !== 'production';
const PORT = process.env.PORT || 5000;
const PORT_CHAT = 3231
const app = express();
//app.use(express.static(path.resolve(__dirname, '../react-ui/build')));
const cors = require('cors');
var chat = require('http').createServer()
var io = module.exports.io = require('socket.io')(chat)
const SocketManager = require('./SocketManager')
io.on('connection', SocketManager)
chat.listen(PORT_CHAT, ()=>{
console.log("Connected to port:" + PORT_CHAT);
})
app.use(cors());
app.use(bodyparser.json());
app.use(security.verifyToken);
app.use('/', securityRouter);
app.use('/annonce', AnnonceRouter);
app.use('/user', userRouter);
app.use('/comment', commentRouter);
app.use('/mail', mailRouter);
// Serve static assets if in production
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html')) // relative path
})
app.listen(PORT, function () {
console.error(`Node ${isDev ? 'dev server' : 'cluster worker '+process.pid}: listening on port ${PORT}`);
});
我的package.json位于根目录:
"scripts": {
"start": "concurrently \"cd server && node index.js\" \"cd client && npm start\"",
"heroku-postbuild": "cd client && npm install && npm run build"
}
我从背面运行了所有console.log:“应用程序正在监听端口****”等。 但为了我的面前
2019-08-17T13:16:53.800476 + 00:00 app [web.1]:[1]端口32879上已在运行某些设备。 2019-08-17T13:16:53.840457 + 00:00 app [web.1]:[1] cd客户端&& npm开始退出,代码为0
如果您对我在做什么错有任何了解,我在听。
答案 0 :(得分:0)
尝试更改
chat.listen(PORT_CHAT, function () {
console.log("Connected to port:" + PORT_CHAT);
});
到
chat.listen(process.env.PORT_CHAT || PORT_CHAT, function () {
console.log("Connected to port:" + PORT_CHAT);
});
并尝试将PORT_CHAT环境变量设置为所需的值