1
我有一個VPS爲我的遊戲運行服務器。我使用node.js
和socket.io
。我發現了一些教程配置我my-app-name.service
文件是這樣的:如何設置服務器運行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
但是,當我連接到服務器從mydomain.com通過socket.io:
io('http://<my_server_ip>:5000')
我得到錯誤:
GET http://<my_server_ip>/socket.io/?EIO=3&transport=polling&t=LfqMeQU net::ERR_CONNECTION_TIMED_OUT
我的app.js
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', '*:*');
客戶在另一個域和差異服務器。我的VPS只運行Node.js應用程序,我的網站將連接到它。 –
@OmegaP可以嘗試將端口更改爲'80'嗎?我可以模擬與端口'5000'相同的問題,但是如果我將其更改爲'80',則它可以工作。 –
@OmegaP我有一個使用Heroku服務的項目。它也使用端口5000和那裏,我有'server.listen(process.env.PORT || 5000);'在服務器上和'socket = io();'在客戶端上。我沒有在那裏指定IP。你可以嘗試一樣嗎? –