簡體   English   中英

如何在沒有 npm start 的情況下在 Cpanel 上啟動套接字服務器 (server.js)

[英]How to start socket server (server.js) on Cpanel without npm start

我曾嘗試在 Angular-6 應用程序中使用 socket.io 和 socket.io-client。

為此,我在我的根目錄中創建了一個server.js文件。 server.js文件如下:

const express = require('express');
const path = require('path');
const http = require('http');
const socketIO = require('socket.io');

const app = express();
const port = process.env.PORT || 3000;

app.use(express.static(path.join(__dirname, 'dist/myApp')));

app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/myApp/index.html'));
});

const server = http.createServer(app);

const io = socketIO(server);

io.on('connection', (socket) => {
console.log('New user connected');

socket.on('disconnect', () => {
    console.log('User disconnected');
});
});


server.listen(port, () => {
console.log(`Server running on port ${port}`);
});

在我的 package.json 文件中,我還將"start":"ng serve" 更改為 "node server.js"

"scripts": {
    "start": "node server.js"       
  }

現在,在我的本地機器上,我嘗試了命令 ng build 然后 npm start 它工作得很好。 它將在終端上顯示日志消息在此處輸入圖片說明

現在我想在 Web 服務器(Cpanel)上托管 myApplication,我在其中復制文件並將其從 dist 文件夾中粘貼,但是如何在我的服務器上啟動 server.js 文件

這取決於您的 Web 服務器是僅提供靜態文件(html、js 等)還是實際運行 linux 實例來運行您的節點服務器。

根據我的經驗,最免費的(webhost00、cpanel)等不提供 linux 實例,而只提供托管靜態文件的 Web 服務器。

如果你想運行一個節點服務器,有很多免費的選擇。 主要有AzureAWSHerokuGCP (google cloud)Digital Ocean

我認為最快的免費是Heroku

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM