在共享 OVH 服务器上部署 Node.js socket.io 项目

时间:2021-04-28 13:36:33

标签: javascript mysql node.js reactjs socket.io

我正在尝试构建和部署我的应用到OVH服务器,我的客户不想要云解决方案,他想要托管或部署它OVH(他们告诉我 OVH 支持 Node.js),老实说我不知道​​该怎么做。

我的项目在开发中运行良好,它与 socket.ioMySql 和一些包作为 knex 的实时聊天,在前端我使用 React.js(我现在没有问题)

如果需要,我可以提供更多信息。谢谢很多

const app = require("express")();
var cors = require("cors");
app.use(cors());
const server = require("http").createServer(app);
const mysql = require("mysql");

const knex = require("knex")({
  client: "mysql",
  connection: {
    host: "localhost",
    user: "root",
    password: "",
    database: "chat_message",
  },
});


const io = require("socket.io")(server, {
  cors: {
    origin: "*",
    credentials: true,
  },
});

app.get("/messages", function (request, result) {
    knex
      .select()
      .table("messages")
      .then((data) => result.send(data))
  });

io.on("connection", (socket) => {
  socket.on("messageClient", (sms) => {
    
    knex("messages")
      .insert({
        message: sms.msg,
        socket_id: sms.id,
        dateMsg: sms.Temps,
        ip: sms.ip,
        name: sms.name,
      })
      .then((e) => console.log("data insert succees"));
      socket.broadcast.emit("messageAll", sms);
  });
});
server.listen(5000, () => console.log("Port: 5000"));

1 个答案:

答案 0 :(得分:0)

OVH 是一家私人公司,我不确定 this would be offtopic 是否更适合寻求自己的支持。但是你应该知道共享主机通常不支持像 nodejs 这样的长时间运行的进程。他们只在服务器上支持 PHP。