Возникли проблемы при развертывании моего приложения node.js в цифровом океане - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь развернуть приложение node.js в цифровом океане. Локально мое приложение работает нормально, когда я делаю:

node server.js

Я клонировал свой репозиторий из gitlab с помощью доступа ssh и попытался сделать то же самое, но все, что делает страница, застревает на этапе загрузки, и в конце концов он говорит, что мой 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!');
            }
    });
});

1 Ответ

0 голосов
/ 02 ноября 2018

Порт, на котором вы запускаете приложение узла в цифровом океане, заблокирован от внешнего доступа. Настройте цифровой океан для маршрутизации любого запроса через порт 80 или 443 (порт по умолчанию для http и https) в ваше внутреннее приложение nodejs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...