websocket + TP5.1 + apache 配置步骤

1. https ssl配置好

2. 检查php环境是否满足Workerman要求
curl -Ss http://www.workerman.net/check.php | php
如果脚本中全部提示ok,则代表满足WorkerMan运行环境
3. 一般会少pcntl、posix扩展
安装pcntl、posix扩展
1. php -m 会列出命令行 PHP CLI 已经安装的扩展,
2. php --ini 确定PHP CLI 的php.ini文件的位置
3. 利用php -v命令查看当前的PHP CLI的版本
4. 根据版本下载PHP源代码 http://php.net/releases/, 并解压至服务器任意目录,tar -zxvf php-5.3.29.tar.gz
5. 进入ext/pcntl目录,cd php-5.3.29/ext/pcntl/
6. 运行 phpize 命令
7. 运行 configure命令
8. 运行 make 命令
9. 运行make install 命令,自动会在扩展目录存入pcntl.so文件。
10.在php.ini加入extension=pcntl.so
4. TP5.1安装workerman扩展
1. composer require topthink/think-worker=2.0.*
2. 配置监听端口:0.0.0.0:8000(如果是阿里云的服务器,内网ip:8000)
3. 启动php think worker:server
5. httpd.conf文件,增加代理扩展:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
6. httpd-ssl.conf文件:
##################################################################################
<VirtualHost *:443>

# Proxy Config
SSLProxyEngine on
ProxyRequests Off

DocumentRoot "/alidata/www/baidu/web"
ServerName www.baidu.com:443
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile "/alidata/server/httpd-2.4.10/cert/baidu/2230389_www.baidu.com_public.crt"
SSLCertificateKeyFile "/alidata/server/httpd-2.4.10/cert/baidu/2230389_www.baidu.com.key"
SSLCertificateChainFile "/alidata/server/httpd-2.4.10/cert/baidu/2230389_www.baidu.com_chain.crt"

<Directory "/alidata/www/baidu/web/">
AllowOverride All
Require all granted
</Directory>

ProxyPass /wss ws://www.baidu.com:8000
ProxyPassReverse /wss ws://www.baidu.com:8000

</VirtualHost>
##################################################################################
7. 修改完apache的配置文件后,需要重启才能生效:
service httpd restart
8. 前端代码:(注意域名与apache配置要一致)
<script>
ws = new WebSocket('wss://www.baidu.com/wss');
ws.onopen = function(){
alert('连接成功。');
ws.send('hello tt');
alert('给服务端发送了:hello tt');
};
ws.onmessage = function(e){
alert("收到服务器的信息:" + e.data);
};

</script>

9. workerman手册: http://doc3.workerman.net/315297
TP5.1手册: https://www.kancloud.cn/manual/thinkphp5_1/354134
TP5.1+workerman:https://www.kancloud.cn/thinkphp/think-worker/722897

websocket + TP5.1 + apache 配置步骤的更多相关文章

  1. tp5 rewrite apache 配置

    emmmmm,本来还是nginx服务器,突然换成了apache ubuntu系统,apache2服务器,tp5, 1.首先还是运行phpinfo.php,搜一下“Loaded Modules”这里面是 ...

  2. Apache 配置 WebSocket 协议

    本文使用 http proxy 方式 实现 apache 支持  WebSocket 请求(JK 使用的 ajp 协议不能支持websocket) 通过 apache 访问 后端 tomcat上的 w ...

  3. Apache安装配置步骤

    注释:这里以Linux 红帽商业版为例~~~~~~~纯手打啊 Apache安装配置步骤 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend ...

  4. php配置虚拟主机的配置步骤(hosts、httpd.conf、vhosts.conf)1.配置本地的dns文件2.配置apache的主配置文件3.配置Apache的虚拟主机

    1.域名解析(DNS) 找到C:\Windows\System32\drivers\etc目录下的hosts文件,在里面进行添加对应的内容

  5. Apache 配置多站点访问「为项目分配二级域名」

    一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的. 而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的. 其实(www ...

  6. Apache 配置多端口

    Apache 配置多端口,主要是以下步骤 1. 如果电脑是64位的,官网上下载WampServe,装的过程中如果出现msvcp110.dll丢失的话,解决办法如下: 1.1 首先是打开浏览器,在浏览器 ...

  7. Linux Apache配置多个站点同时运行

    这样一种场景:我们有一台服务器:但是想挂多个网站:那么Apache下配置虚拟主机可以满足这个需求: 比较简单的是基于主机名的配置步骤如下: 示例环境 ip:115.28.17.191 域名:baiju ...

  8. log4j.properties 详解与配置步骤

    一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...

  9. log4j.properties 详解与配置步骤(转)

    找的文章,供参考使用 转自 log4j.properties 详解与配置步骤 一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR ...

随机推荐

  1. 模型压缩-ThiNet

    转载:https://blog.csdn.net/u014380165/article/details/77763037 https://www.twblogs.net/a/5b8d02472b717 ...

  2. ABAP程序拆分JOB

    [ZDQFI_601_JOB 调用 ZDQFI_601拆分JOB] data: name type tbtcjob-jobname. data: number type tbtcjob-jobcoun ...

  3. 消息队列之ActiveMQ学习笔记(二、C#实例实现)

    ActiveMQ提供多种语言支持,如Java, C, C++, C#, Ruby, Perl, Python, PHP等.此处列举C#实例 下述C#实例代是基于QUEUE的P2P方式,如需要实现TOP ...

  4. [C++/JavaScript]数据结构:栈和数列>案例引入(数制的转换)

    1 案例1:数制的转换 1.1 背景与原理 1.2 编程复现 (JavaScript版 复现) function convert(value, d){ stack = []; // 栈 result ...

  5. Spark快速大数据分析之RDD基础

    Spark 中的RDD 就是一个不可变的分布式对象集合.每个RDD 都被分为多个分区,这些分区运行在集群中的不同节点上.RDD 可以包含Python.Java.Scala中任意类型的对象,甚至可以包含 ...

  6. Hadoop 部署之 Spark (六)

    目录 一.Spark 是什么 二.Scala的安装(所有节点) 三.Spark 安装(所有节点) 1.下载安装 2.配置 Spark 环境变量 四.Spark 配置(namenode01) 1.配置 ...

  7. Jmeter 逻辑控制器 之 Include Controller

    一.认识 Include Controller Include Controller :译为包含控制器,用来添加 Test Fragment(测试片段).具体是什么意思呢,我们先来了解下 Test F ...

  8. OPC Utgard的数据访问方式

    1.同步读取某个点位的值 Item项的read()方法 Server server = new Server(BaseConfiguration.getCLSIDConnectionInfomatio ...

  9. 深入剖析Java虚拟机内存结构

    深入剖析Java虚拟机内存模型 JVM整体架构 JVM整体架构如下: 通过编写代码来分析整个内存区域 public class Math { public static final Integer C ...

  10. eNSP——通过Telent登录系统

    我们先介绍一下Telent是干啥的: Telnet通常用在远程登录应用中,以便对本地或远端运行的网络设备进行配置.监控和维护.如网络中有多台设备需要配置和管理,用户无需为每一台 设备都连接一一个用户终 ...