Как запустить сокет-сервер (server.js) на Cpanel без запуска npm - PullRequest
0 голосов
/ 23 февраля 2019

Я пытался использовать socket.io & socket.io-client в приложении Angular-6.

Для этого я создал файл 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" на "сервер узла.js "

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

Теперь, на моей локальной машине я попробовал команду ng build, а затем npm start работает отлично.на терминале будет отображаться сообщение журнала enter image description here

Теперь я хочу разместить myApplication на веб-сервере (Cpanel), в который я копирую файлы и вставляю его из папки dist, но как мне начать?файл server.js на моем сервере

1 Ответ

0 голосов
/ 23 февраля 2019

Это будет зависеть, если ваш веб-сервер просто обслуживает статические файлы (html, js и т. Д.) Или фактически запускает экземпляр linux для запуска сервера вашего узла.

По моему опыту, большинство бесплатных (webhost00, cpanel) и т. Д. Не предлагают экземпляр linux, а только веб-сервер, на котором размещены статические файлы.

Если вы хотите запустить там сервер узловЕсть много бесплатных вариантов там.В основном Azure, AWS, Heroku, GCP (google cloud), Digital Ocean.

Самый быстрый бесплатный, на мой взгляд, Heroku

...