2017-02-25 9 views
1

내 게임을 위해 서버를 실행하는 VPS가 있습니다. 나는 node.jssocket.io을 사용합니다. 내가 socket.io에 의해 mydomain.com에서 서버에 연결할 때,Node.js를 실행하는 서버를 설정하는 방법은 무엇입니까?

[Service] 
ExecStart=/usr/bin/node /usr/games/nodeapp/app.js 
Restart=always 
StandardOutput=syslog 
StandardError=syslog 
SyslogIdentifier=my-app-name 
User=hnp 
Group=hnp 
Environment=NODE_ENV=production PORT=5000 

[Install] 
WantedBy=multi-user.target 

:하지만 나는이 같은 내 my-app-name.service 파일을 config (설정) 몇 가지 튜토리얼을 발견

io('http://<my_server_ip>:5000') 

내가 가지고 오류 :

GET http://<my_server_ip>/socket.io/?EIO=3&transport=polling&t=LfqMeQU net::ERR_CONNECTION_TIMED_OUT 

var http = require('http'); 
var socketIO = require('socket.io'); 
var port = process.env.PORT || 5000; 
var ip = process.env.IP || 'localhost'; 
server = http.createServer().listen(port, ip, function() { 
    console.log('Server running at %s:%s!', ip, port); 
}); 
var io = socketIO.listen(server); 
io.set('match origin protocol', true); 
io.set('origins', '*:*'); 

답변

0

이렇게 해보았습니다. 그래도, Express.js 사용

var express = require("express"); 
var app = express(); 
app.use(express.static(__dirname + "/")); 
var http = require("http"); 
var server = http.createServer(app); 

io = require("socket.io")(server); 
server.listen(process.env.PORT || 80, "YOUR_IP"); 

클라이언트 : 다른 도메인과 사랑하는 서버

var socket = io(); 
+0

클라이언트. 내 VPS에서 Node.js 앱을 실행하면 내 웹 사이트가 연결됩니다. –

+0

@OmegaP 포트를 '80'(으)로 변경할 수 있습니까? 나는 포트 '5000'에서 같은 문제를 시뮬레이션 할 수있다.하지만 '80'으로 바꾸면 작동한다. –

+0

@OmegaP Heroku 서비스를 사용하는 프로젝트가 있습니다. 또한 포트 5000을 사용하고 거기에'server.listen (process.env.PORT || 5000);'을 서버에,'socket = io();'를 클라이언트에 가지고 있습니다. 거기에 IP를 지정하지 않았습니다. 같은 것을 시도해 볼 수 있을까요? –