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. 图解 HTTP 笔记(二)——简单的 HTTP 协议

    本章主要以 HTTP 1.0 为例,讲解 HTTP 协议的基本结构. 在两台计算机之间使用 HTTP 协议进行通讯时,在一条通讯线路上必定有一端是客户端,另一端则是服务器端. 请求访问文本或图像等资源 ...

  2. iOS-Http断点续传

    下载LOFTER客户端IOS Http断点续传浅析 http实现断点续传的关键地方就是在httprequest中加入“Range”头. //设置Range头,值:bytes=x-y;x:开始字节,y: ...

  3. 知识点整理-mysql的顺序I/O和随机I/O

    假设有这样一张表: CREATE TABLE `person_info` ( `id` ) NOT NULL AUTO_INCREMENT, `name` varchar() NOT NULL, `b ...

  4. 用于Python文件转换.exe文件的pyinstaller工具安装

    安装方法: 注:python环境一定要配置好. 1.第一步:下载 官方网站:http://www.pyinstaller.org/downloads.html 此处下载版本为稳定版. 2.第二步:下载 ...

  5. 码云配置WebHook自动更新

    配置项目提交到git的时候自动同步服务器代码 一.在服务器项目跟目录新建文件hook.php 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $json =  ...

  6. Leetcode之并查集专题-684. 冗余连接(Redundant Connection)

    Leetcode之并查集专题-684. 冗余连接(Redundant Connection) 在本问题中, 树指的是一个连通且无环的无向图. 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2 ...

  7. 使用js加载器动态加载外部js、css文件

    let MiniSite = new Object(); /** * 判断浏览器 */ MiniSite.Browser = { ie: /msie/.test(window.navigator.us ...

  8. ZUI(BootStrap)使用vue动态插入HTMl所创建的data-toggle事件初始化方法

    用ZUI的图片浏览:lightbox 写静态html的时候是有预览效果的,使用了vue动态加载就没有效果了, 网上的说法是动态生成的没有激活事件:ZUI(BootStrap)动态插入HTMl所创建的d ...

  9. Spring中@Component与@Bean的区别

    @Component和@Bean的目的是一样的,都是注册bean到Spring容器中. @Component  VS  @Bean @Component 和 它的子类型(@Controller, @S ...

  10. hdu4813 01背包+前缀和

    题意:\(A,B\)两人,有\(N\)个事件,每件发生的概率都为\(0.5\),若事件\(i\)发生,则\(B\)加\(v_i\)分数,若其不发生,则\(B\)不加分,给定一个概率\(P\),问至少需 ...