node.js - 如何设置服务器运行 Node.js?

标签 node.js linux socket.io centos7 vps

我有一个 VPS 可以为我的游戏运行服务器。我使用 node.jssocket.io。我找到了一些教程配置我的 my-app-name.service 文件,如下所示:

[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

但是,当我通过 socket.io 从 mydomain.com 连接到服务器时:

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', '*:*');

最佳答案

这就是我一直在做的。我用 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();

关于node.js - 如何设置服务器运行 Node.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453747/

相关文章:

node.js - 如何让 Grunt Deploy 使用全局 NPM 模块而不是本地模块

c - 如何检测客户端内部的pclose

mysql bash shell脚本输出错误

node.js - SocketIo 和 Redis 多重发射处理

socket.io - 向客户端连接的所有房间发送消息

node.js - 如何在 ReactJS 中显示来自 MongoDB 的图像

jquery - jsdom和jquery修改dom元素的css样式

Node.js:未处理的 'error' 事件

linux - 如何在子进程中访问父进程的内存映射区域?

node.js - websocket 客户端到 socket.io