Простой чат с socket.io: как я это выполняю в моем удаленном hosting?

мне кажется основной руководитель простого чата реализованным с socket.io, но я вижу, что все примеры выполнены в localhost, и я хотел бы скроллировать проект в моем удаленном hosting. Но не, что я должен изменять линии, предполагая, что моя страница: www.mipagina.com

index. JS

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket) {
    socket.on('chat message', function(msg) {
        io.emit('chat message', msg);
    });
});

http.listen(3000, function() {
    console.log('listening on *:3000');
});

.JSON

{
"name": "socket-chat-example",
"version": "0.0.1",
"description": "my first socket.io app",
"dependencies": {
"express": "4.10.2",
"socket.io": "1.2.0"
}

}

index.html

 <!doctype html>
    <html>
    <head>
    <title>Socket.IO chat</title>
    <style>
    * { margin: 0; padding: 0; box-sizing: border-box; }
    body { font: 13px Helvetica, Arial; }
    form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
    form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
    form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
    #messages { list-style-type: none; margin: 0; padding: 0; }
    #messages li { padding: 5px 10px; }
    #messages li:nth-child(odd) { background: #eee; }
    </style>
    </head>
    <body>
    <ul id="messages"></ul>
    <form action="">
    <input id="m" autocomplete="off" /><button>Send</button>
    </form>
    <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
    <script>
    var socket = io();
    $('form').submit(function(){
    socket.emit('chat message', $('#m').val());
    $('#m').val('');
    return false;
    });
    socket.on('chat message', function(msg){
    $('#messages').append($('<li>').text(msg));
    });
    </script>
    </body>
    </html>
0
задан 23.01.2017, 23:44
0 ответов

В случае имей посвященный сервер или сервер, который включал бы Node.js, что ты должен делать, является Proxy в Апачи, чтобы пересылать трафик к твоему приложению в определенном порту.

Ты мог бы помещать чат в порт 9000 например для, что ты нуждаешься в том, чтобы сделать Proxy в этот порт. Для ésto ты должен издавать назначенный по умолчанию сайт внутри/etc/apache2/sites-available (в общем названный default). В этом пример redireccionaremos chat.tupaginaweb.com в приложение Node.js в порту 9000.

Заметь: Не забывай включить модули proxy и proxy_http

<VirtualHost *:80>
  ServerName chat.tupaginaweb.com
  ServerAlias www.chat.tupaginaweb.com
  DocumentRoot /var/www/tuappnode/
  Options -Indexes

  ProxyRequests on
  ProxyPass / http://localhost:9000/
  ProxyPassReverse / http://localhost:9000/
</VirtualHost>

DocumentRoot должен быть твоим приложением Node.js и должен быть помещенной внутри/var/www.

1
ответ дан 03.12.2019, 17:31

Теги

Похожие вопросы