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

Posted

技术标签:

【中文标题】在共享 OVH 服务器上部署 Node.js socket.io 项目【英文标题】:Deploy Node.js socket.io project on shared OVH server 【发布时间】:2021-07-21 20:59:00 【问题描述】:

我正在尝试构建和部署我的应用到 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】:

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

【讨论】:

以上是关于在共享 OVH 服务器上部署 Node.js socket.io 项目的主要内容,如果未能解决你的问题,请参考以下文章

是否可以从 ovh 共享主机执行 ssh?

为啥 node.js 不能在共享主机上运行? [关闭]

如何在 Node.js 服务器上部署 Vue.js 应用程序

如何在生产服务器上部署 Node.js 应用

在 OVH 的 Openstack 上使用 Terraform 创建专用网络

在 Firebase 上部署使用 node.js 服务器的应用程序