В настоящее время в dev у меня работает WAMP, в то время как nodejs через cli одновременно.
Обычно вы переходите на сайт https://localhost:443, а затем загружаете index.php, который запускает скрипт socketio в заголовочном теге. Он подключается к cli nodejs, а затем происходит двунаправленная связь при разборе index.php через apache / php.
Какова лучшая практика для одновременного запуска PHP и NodeJS; будут ли проблемы с масштабированием?
В целях безопасности является ли излишним использование https для apache / php и cli / nodejs?
Просмотр изображения
Сайт WAMP / Php через порт 80/443
CLI / NodeJS связь в реальном времени через порт 5000
index.php
<!doctype html>
<html>
<head>
<script src='https://localhost:5000/socket.io/socket.io.js'></script>
<script>
var socket = io('https://localhost:5000');
socket.on('welcome', function(data) {
console.log('Chrome Console!');
socket.emit('2Server', {msg:'Thanks Server!'});
});
socket.on('2Client', function(data) {
console.log(data.msg);
});
</script>
</head>
<body>
<?php echo 'Welcome!' ?>
</body>
</html>
app.js
var fs = require('fs');
var socket = require('socket.io')
var https = require("https");
var options = {
key: fs.readFileSync("certs/server.key"),
cert: fs.readFileSync("certs/server.cert")
};
var app = https.createServer(options, function(req, res){
res.end();
});
var io = socket(app);
setInterval(function(){
io.emit('2Client', { msg:'Hi Client'});
}, 10000);
// Emit welcome message on connection
io.on('connection', function(socket) {
socket.emit('welcome', { message: 'Welcome!', id: socket.id });
socket.on('2Server', function(data){
console.log(data.msg);
});
});
app.listen(5000, function(){
console.log('Listening on port 5000');
});