图片说明

数据推送之Comet

前端进行数据推送(递归轮询)

function conn(){
    $.ajax({
        url:"data.php",
        dataType:"json",
        success:function(data){
            console.log(data);
            conn()
        }
    })
}
conn();

后端进行数据推送(ob_flush()+flush())

    header("Content-type:application/json;charset=utf-8");
    header("Cache-Controk:max-age=0");//不缓存
    $i=0;
    while($i<9>){
        $res=rand(1,999);
        echo $res."<br>";
        ob_flush();
        flush();//送出去
    }

数据推送之WebScoket

npm i scoket.io插件

数据推送之SSE(Server-Send-Event)

1.php代码

<?php
    header("Content-Type:text/event-stream;charset=utf-8");
    header("Access-Control-Allow-Origin:http://127.0.0.1/");
    echo "data:现在的时间是:".date('H:i:s')."\r\n";
?>

2.js代码

var source;

function init(argument){
    source=new EventSource("http://127.0.0.1/sse/index.php");
    source.onopen=function(){
        console.log("连接已建立",this.readyState)
    }
    source.onmessage=function(e){
        console.log("从服务器获取的数据:",e.data)
    }
    source.onerror=function(){
        console.log("err")
    }
}

init();

3.然后建立一个html,把js文件放入就行

nginx反向***与负载均衡

  • HTTp Upstream模块
  • ip_hash指令
  • server指令(权重)
  • upstream指令及相关变量

nodejs上线部署

config/nginx.config

配置server服务器

上线

  • 准备上线需要的压缩文件,上传到服务器集群
  • 安装线上依赖,npm i --production
  • pm2进程守护 pm2 start pm2.json
  • 在nginx服务器上配置负载均衡