Nodejs Server Oluşturma Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Berceste.
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Hocalarım şöyle bir sorun var benim normal DigialOcean da olan sunucum da çalışan kod burda çalışmıyor port sorunu mu bilmiyorum eksik birşey mi yaptım çözemedim...

    Kodum şudur ;

    //JavaScript

     var app = require('express')();
    var http = require( "http" ).createServer( app );
     var io = require( "socket.io" )( http );
     http.listen(120, "xxxx.xxx.xx");
    
    
     io.on('connection',function(socket){
     console.log("A user is connected");
     });

    Ufw status dediğimde çıkan sonuç ;

    Apache Full                ALLOW       Anywhere

    20/tcp                     ALLOW       Anywhere

    22/tcp                     ALLOW       Anywhere

    3306/tcp                   ALLOW       Anywhere

    21/tcp                     ALLOW       Anywhere

    990/tcp                    ALLOW       Anywhere

    40000:50000/tcp            ALLOW       Anywhere

    120/tcp                    ALLOW       Anywhere

    Apache Full (v6)           ALLOW       Anywhere (v6)

    20/tcp (v6)                ALLOW       Anywhere (v6)

    22/tcp (v6)                ALLOW       Anywhere (v6)

    3306/tcp (v6)              ALLOW       Anywhere (v6)

    21/tcp (v6)                ALLOW       Anywhere (v6)

    990/tcp (v6)               ALLOW       Anywhere (v6)

    40000:50000/tcp (v6)       ALLOW       Anywhere (v6)

    120/tcp (v6)               ALLOW       Anywhere (v6)

     

    Sunucumda firewall da açık olan portlar 

     

     

    Aldığım hata ;

     throw er; // Unhandled 'error' event
          ^
    
    Error: listen EADDRNOTAVAIL xxxx.xxxxxx:120
        at Object.exports._errnoException (util.js:870:11)
        at exports._exceptionWithHostPort (util.js:893:20)
        at Server._listen2 (net.js:1224:19)
        at listen (net.js:1273:10)
        at net.js:1382:9
        at nextTickCallbackWith3Args (node.js:452:9)
        at process._tickCallback (node.js:358:17)
        at Function.Module.runMain (module.js:444:11)
        at startup (node.js:136:18)
        at node.js:966:3

    Fe Eyne Tezhebun?
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek

    120 numaralı port kullanımda olduğu için bu hatayı veriyordur. 

    netstat -ltnp | grep ':120'

    komutu ile hangi uygulamanın kullandığını bulabilirsin.

     

    RockZs tarafından 27/Şub/17 16:24 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Berceste.
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Yok hocam herhangi bir çıktı vermiyor onu denedim 120 port'u boşta 1337'den büyük port verdim 3000'i gene yemedi..


    Fe Eyne Tezhebun?
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek

    ben bu hatayı port kullanımda ise alıyordum. böyle olmadığından eminsen iptables dan öte, bir yazılım/donanım portu kullanmana izin vermiyor olabilir ya da kodlamada bir hata olabilir (bunu geçiyorum çünkü DO da çalışıyor demişsin ama uygulama içinde iki ayrı kez port120 yi çağırma durumu olabilir.)..

    DO vps ile localhost (ya da neresiyse) npm, nodejs, express, socketio paketlerinin versionları farklı olabilir..

    RockZs tarafından 27/Şub/17 16:33 tarihinde düzenlenmiştir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Berceste.
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Yok hocam çalıştırdığım dosya sadece o üstte gösterdiğim kod parçası sadece o . Denemelik yazdım çalışıyor mu diye ama yemedi..

    Server'da firewall var 120 port'u açık ama yemiyor neden çözemedim... Başka ne gibi bir donanım engelleyebilir ki ? hadi 120 engelledi 120-150-1453-3000-3001-1415-1234 i denedim olmuyor hocam hiçbiri yemedi :/

     

    EDİT ; Hocam aynı package.js var direk ordan upload ediyorum tüm dosyaları 

    MhmdAlmz tarafından 27/Şub/17 16:35 tarihinde düzenlenmiştir

    Fe Eyne Tezhebun?
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek

    http.listen(120, "xxxx.xxx.xx");

    satırını

    io.listen(120, "xxxx.xxx.xx");

    olarak değiştirsen olur mu acaba..

     ek: package.js de bildiğim kadarıyla sadece paket versionları yer alıyor. nodejs in versiyonlarına da bakmak lazım.

    RockZs tarafından 27/Şub/17 16:37 tarihinde düzenlenmiştir
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek

    hocam http server ile websocket portları aynı oluyor olabilir.. kod yapısına tekrar bak derim.. express ve socket io bir arada hiç kullanmadım, o yüzden anlayamıyorum tam.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Berceste.
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Hocam aynı olsa netstat da görürdüm herhalde kimin veya neyin kullandığını port boşta ..... Acaba diyorum sunucudan kapatılmış olabilir. bunu nasıl kontrol edebilirim ?

    xxx.xxx.xx 80 'e ping nasıl atabilirim yada bunun dışarıya acık olup olmadığını nasıl görebilirim ?


    Fe Eyne Tezhebun?
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek
    MhmdAlmz bunu yazdı

    Hocam aynı olsa netstat da görürdüm herhalde kimin veya neyin kullandığını port boşta ..... Acaba diyorum sunucudan kapatılmış olabilir. bunu nasıl kontrol edebilirim ?

    xxx.xxx.xx 80 'e ping nasıl atabilirim yada bunun dışarıya acık olup olmadığını nasıl görebilirim ?

    bir de portu 45555 yapıp dener misin? 

    You can't ping ports, as Ping is using ICMP which doesn't have the concept of ports. Ports belong to the transport layer protocols like TCP and UDP. However, you could use nmap to see whether ports are open or not

    nmap -p 80 example.com

    ping ICMP protokolü olduğu için port gibi bir olayı yok diyor. nmap ile portun açık olup olmadığını yukarıdaki komutla görebilirsin.

    http://serverfault.com/questions/309357/ping-a-specific-port

     

    RockZs tarafından 27/Şub/17 16:56 tarihinde düzenlenmiştir
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Berceste.
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    RockZs bunu yazdı
    MhmdAlmz bunu yazdı

    Hocam aynı olsa netstat da görürdüm herhalde kimin veya neyin kullandığını port boşta ..... Acaba diyorum sunucudan kapatılmış olabilir. bunu nasıl kontrol edebilirim ?

    xxx.xxx.xx 80 'e ping nasıl atabilirim yada bunun dışarıya acık olup olmadığını nasıl görebilirim ?

    bir de portu 45555 yapıp dener misin? 

    You can't ping ports, as Ping is using ICMP which doesn't have the concept of ports. Ports belong to the transport layer protocols like TCP and UDP. However, you could use nmap to see whether ports are open or not

    nmap -p 80 example.com

    ping ICMP protokolü olduğu için port gibi bir olayı yok diyor. nmap ile portun açık olup olmadığını yukarıdaki komutla görebilirsin.

    http://serverfault.com/questions/309357/ping-a-specific-port

     

    hayır hocam olmadı gene aynı hatayı aldım malesef :(


    Fe Eyne Tezhebun?
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RockZs
    RockZs's avatar
    Kayıt Tarihi: 30/Haziran/2002
    Erkek

    portu kontrol etmek için aşağıdaki kodu çalıştırmayı deneyebilirsin. daha sonra ip adresine 120 port dan bağlandığında "Hello World" gibi bişey yazması lazım..

    var http = require('http');
    var requestListener = function (req, res) {
      res.writeHead(200);
      res.end('Hello, World!\n');
    }
    
    var server = http.createServer(requestListener);
    server.listen(120);

     

Toplam Hit: 776 Toplam Mesaj: 19
nodejs