node.js - 无法在 Ubuntu 服务器上运行 Node 服务器文件

标签 node.js ubuntu

我无法在 Ubuntu 服务器上启动我的 server.js 文件。我成功安装了所有 npm 软件包。但是当我运行命令 node server.js 时,脚本根本不执行,也没有错误。点击 Enter 后,它再次移回到 putty ssh 中的文件夹路径。我在下面解释我的代码。

server.js:

var port=8888;
var express=require('express');
var morgan = require('morgan');
var http=require('http');
var bodyParser= require('body-parser');
var methodOverride = require('method-override');
var mongo = require('mongojs');
var database='Oditek';
var collections=['video'];
var app= express();
var server=http.Server(app);
var io=require('socket.io')(server);
var db = mongo.connect("127.0.0.1:27017/"+database, collections);
app.use(express.static(__dirname + '/public'));     // set the static files location /public/img will be /img for users
app.use(morgan('dev'));                     // log every request to the console
app.use(bodyParser.urlencoded({ extended: false }))    // parse application/x-www-form-urlencoded
app.use(bodyParser.json())    // parse application/json
app.use(methodOverride());                  // simulate DELETE and PUT
db.on('ready', function () {
    console.log('database connected')
});
app.get('/',function(req,res){
    res.sendfile('view/login.html');
});
app.post('/login',function(req,res){
    var username=req.body.username;
    var password=req.body.userpassword;
    if(username && password){
        db.video.findOne({
            username:username,
            password:password
        },function(err,doc){
            if(doc){
                console.log('login',doc);
                res.send(doc);
            }
            if(err){
                console.log('login12',err);
                res.send("could not login");
            }
        });
    }
});
app.get('/index',function(req,res){
    res.sendfile('view/index.html');
});
app.get('/video',function(req,res){
    res.sendfile('view/video.html');
});
app.get('/whiteboard',function(req,res){
    res.sendfile('view/whiteboard.html');
});
//socket----programming//
var roomid;
var clients={};
io.on('connection',function(socket){
    //console.log('socket id',socket);
    if(socket.handshake.query.roomid){
      roomid=socket.handshake.query.roomid;
    }
    var usertype=socket.handshake.query.usertype;
    //var url=socket.handshake.headers.referer;
    //var myString = url.substr(url.indexOf("?") + 1);
    //var usertype=myString.substr(myString.indexOf("=")+1);
    //console.log('usertype',usertype);
    clients[usertype]={
        "socket":socket.id
    }
    console.log('clients',clients['admin'].socket);
    socket.on('admin-join',function(data){
        if(data.IsJoinAdmin){
            socket.join(roomid);
        }
    });
    socket.on('user-join',function(data){
        console.log('user wants to join',data);
        //console.log('user type',clients);
        if(data.isUserJoin){
            io.sockets.connected[clients[data.usertype].socket].emit('user-already-joined',data);
            socket.join(roomid);
        }
    });
    socket.on('send-playing-video-request-to-users',function(data){
        io.to(roomid).emit('sending-broadcasting',data);
    });
    socket.on('send-broadcasting-message',function(data){
        io.to(roomid).emit('sending-broadcasting',data);
    });
    socket.on('share-white-board',function(msg){
        io.to(roomid).emit('sharing-white-board',msg);
    });
    socket.on('disconnect', function() {
    for(var user in clients) {
        if(clients[user].socket === socket.id) {
            delete clients[user];
            io.to(roomid).emit('user-has-left',{userleft:true});
            break;
        }
    }   
  })

});
server.listen(port);
console.log('server is listening on the port'+port);

如果此文件正在运行,至少应该执行控制台消息。但我没有这样。请帮助我解决此错误。

最佳答案

还有另一个名为node的程序,当调用名为“业余数据包比率 Node 程序”时,它不会显示任何输出。通过与您的交谈,我确定这就是您系统上的内容。有两种基本解决方案。

  1. 删除“Armature Packet Ratio Node程序”,并重新安装node.js

.

sudo apt-get purge node nodejs  # Uninstall both
sudo apt-get install nodejs  # Reinstall nodejs
  • 同时使用这两个程序并通过 Node.js 访问 Node.js
  • .

    nodejs server.js
    forever -c 'nodejs server.js' start
    

    关于node.js - 无法在 Ubuntu 服务器上运行 Node 服务器文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31806949/

    相关文章:

    javascript - 从 npm 包的子文件夹导入

    node.js - Step Functions 错误处理函数参数

    android - Phonegap build android 不执行任何操作

    node.js - postgres中的kthreaddk使用高cpu

    linux - 一键部署需要哪些权限设置?

    node.js - 如何使用应用程序用户连接到数据库?

    node.js - AWS Lambda 函数 - 将 PDF 转换为图像

    node.js - Expressjs + Handlebars 格式化日期

    c - 无法在 Eclipse linux 中调试代码错误无法找到源 malloc.c

    javascript - 我怎样才能在ubuntu中运行 "node index.js"