Javascript 无法将my node.js应用程序部署到digital ocean
我正在尝试将node.js应用程序部署到digital ocean。在本地,当我执行以下操作时,我的应用程序工作正常:Javascript 无法将my node.js应用程序部署到digital ocean,javascript,node.js,backend,digital-ocean,Javascript,Node.js,Backend,Digital Ocean,我正在尝试将node.js应用程序部署到digital ocean。在本地,当我执行以下操作时,我的应用程序工作正常: node server.js 我使用ssh访问从gitlab克隆了我的存储库,并尝试做同样的事情,但页面所做的一切都是停留在加载阶段,最终它说我的ip地址花了太长时间才响应 ERR_CONNECTION_TIMED_OUT 最终,我计划使用一些东西使其永久运行,但我将为此发布一篇单独的帖子 我通常使用我的ip地址:端口号来尝试查看我的应用程序 这是我的server.js文件
node server.js
我使用ssh访问从gitlab克隆了我的存储库,并尝试做同样的事情,但页面所做的一切都是停留在加载阶段,最终它说我的ip地址花了太长时间才响应
ERR_CONNECTION_TIMED_OUT
最终,我计划使用一些东西使其永久运行,但我将为此发布一篇单独的帖子
我通常使用我的ip地址:端口号来尝试查看我的应用程序
这是我的server.js文件:
const express = require('express') ,app = express(), path = require('path'),
socket = require('socket.io'), emailModule = require('./email.js'),
formValidationModule = require('./formValidation.js'), vimeoModule = require('./vimeo.js'),
port = process.env.PORT || 3000;
let
server = app.listen(port,function(){
console.log('listening to requests...');
}),
io = socket(server);
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
});
io.on('connection', (socket)=>{
console.log('made a connection!');
socket.on('getShortFilmsInfo', ()=>{
vimeoModule.videos.short_films.forEach((y)=>{
vimeoModule.getVideoThumbnail(y).then((data)=>{
socket.emit('shortFilmsInfo', data);
});
})
});
socket.on('getCommercials',()=>{
vimeoModule.videos.commercials.forEach((x)=>{
vimeoModule.getVideoThumbnail(x).then((data)=>{
socket.emit('commercialInfo', data);
})
});
});
socket.on('email', (data)=>{
if(formValidationModule.checkEmptyContact(data.client, data.email, data.name,
data.title, data.message)){
socket.emit('invalidData');
}
else {
/**
* * Here you need to set your email options which includes the clients email, destination email,
* subject and the text (the email content).
*/
emailModule.setMailOptions(data.email,/*'Info@project-gorilla.co.uk'*/'salay777@hotmail.co.uk'
, data.client + ' ' + '(' +
data.name + ')' + ' ' + data.title, data.message).then((mailOpts)=>{
emailModule.send(mailOpts);
});
console.log('email has been sent!');
}
});
});
您在digital ocean中运行节点应用程序的端口被阻止外部访问。将digital ocean配置为将端口
80
或443
(http和https的默认端口)上的任何请求路由到您的内部nodejs应用程序。我已将端口更改为8080,但仍然存在问题。。