[英]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 服務器。
如果你想運行一個節點服務器,有很多免費的選擇。 主要有Azure
、 AWS
、 Heroku
、 GCP (google cloud)
、 Digital Ocean
。
我認為最快的免費是Heroku
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.