websocket + TP5.1 + apache 配置步骤
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 配置步骤的更多相关文章
- tp5 rewrite apache 配置
emmmmm,本来还是nginx服务器,突然换成了apache ubuntu系统,apache2服务器,tp5, 1.首先还是运行phpinfo.php,搜一下“Loaded Modules”这里面是 ...
- Apache 配置 WebSocket 协议
本文使用 http proxy 方式 实现 apache 支持 WebSocket 请求(JK 使用的 ajp 协议不能支持websocket) 通过 apache 访问 后端 tomcat上的 w ...
- Apache安装配置步骤
注释:这里以Linux 红帽商业版为例~~~~~~~纯手打啊 Apache安装配置步骤 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend ...
- php配置虚拟主机的配置步骤(hosts、httpd.conf、vhosts.conf)1.配置本地的dns文件2.配置apache的主配置文件3.配置Apache的虚拟主机
1.域名解析(DNS) 找到C:\Windows\System32\drivers\etc目录下的hosts文件,在里面进行添加对应的内容
- Apache 配置多站点访问「为项目分配二级域名」
一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的. 而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的. 其实(www ...
- Apache 配置多端口
Apache 配置多端口,主要是以下步骤 1. 如果电脑是64位的,官网上下载WampServe,装的过程中如果出现msvcp110.dll丢失的话,解决办法如下: 1.1 首先是打开浏览器,在浏览器 ...
- Linux Apache配置多个站点同时运行
这样一种场景:我们有一台服务器:但是想挂多个网站:那么Apache下配置虚拟主机可以满足这个需求: 比较简单的是基于主机名的配置步骤如下: 示例环境 ip:115.28.17.191 域名:baiju ...
- log4j.properties 详解与配置步骤
一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...
- log4j.properties 详解与配置步骤(转)
找的文章,供参考使用 转自 log4j.properties 详解与配置步骤 一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR ...
随机推荐
- 模型压缩-ThiNet
转载:https://blog.csdn.net/u014380165/article/details/77763037 https://www.twblogs.net/a/5b8d02472b717 ...
- ABAP程序拆分JOB
[ZDQFI_601_JOB 调用 ZDQFI_601拆分JOB] data: name type tbtcjob-jobname. data: number type tbtcjob-jobcoun ...
- 消息队列之ActiveMQ学习笔记(二、C#实例实现)
ActiveMQ提供多种语言支持,如Java, C, C++, C#, Ruby, Perl, Python, PHP等.此处列举C#实例 下述C#实例代是基于QUEUE的P2P方式,如需要实现TOP ...
- [C++/JavaScript]数据结构:栈和数列>案例引入(数制的转换)
1 案例1:数制的转换 1.1 背景与原理 1.2 编程复现 (JavaScript版 复现) function convert(value, d){ stack = []; // 栈 result ...
- Spark快速大数据分析之RDD基础
Spark 中的RDD 就是一个不可变的分布式对象集合.每个RDD 都被分为多个分区,这些分区运行在集群中的不同节点上.RDD 可以包含Python.Java.Scala中任意类型的对象,甚至可以包含 ...
- Hadoop 部署之 Spark (六)
目录 一.Spark 是什么 二.Scala的安装(所有节点) 三.Spark 安装(所有节点) 1.下载安装 2.配置 Spark 环境变量 四.Spark 配置(namenode01) 1.配置 ...
- Jmeter 逻辑控制器 之 Include Controller
一.认识 Include Controller Include Controller :译为包含控制器,用来添加 Test Fragment(测试片段).具体是什么意思呢,我们先来了解下 Test F ...
- OPC Utgard的数据访问方式
1.同步读取某个点位的值 Item项的read()方法 Server server = new Server(BaseConfiguration.getCLSIDConnectionInfomatio ...
- 深入剖析Java虚拟机内存结构
深入剖析Java虚拟机内存模型 JVM整体架构 JVM整体架构如下: 通过编写代码来分析整个内存区域 public class Math { public static final Integer C ...
- eNSP——通过Telent登录系统
我们先介绍一下Telent是干啥的: Telnet通常用在远程登录应用中,以便对本地或远端运行的网络设备进行配置.监控和维护.如网络中有多台设备需要配置和管理,用户无需为每一台 设备都连接一一个用户终 ...