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 ...
随机推荐
- unity3d 嵌入iOS的 In App Purchase 应用程序内购买
Unity做东西是快,但是有些功能是需要额外开发的,比如 IAP (In App Purchase,应用程序内购买) 还好unity提供了灵活的扩展功能,允许嵌入原生代码来做一些unity未实现的功能 ...
- Docker使用Portainer搭建可视化界面
Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...
- mfc中循环显示图片
UINT CPalmIdentDlg::UpdateCImg(LPVOID p) { struct params *pa = (struct params*)p; int *imgarray = pa ...
- DDE 的知识和使用
在github上下载.net 版本的NDde 开发包 或者在此处下载开发包 MSDN 地址 创建服务器 class BasicDDE:DdeServer { public BasicDDE(strin ...
- [Cometoj#3 B]棋盘_状压dp
棋盘 题目链接:https://cometoj.com/contest/38/problem/B?problem_id=1535 数据范围:略. 题解: 因为行数特别小,所以$dp$的时候可以状压起来 ...
- 利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据
利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据 实现描述:将数据存放在js对象中, 然后放在父页面的document对象中, 在页面刷新的时候将父页面的值取出来, ...
- Codeforces contest 1277 E. Beautiful Rectangle
- spring-redis使用
导包 注入调用 opsForValue() opsForList() redisTemplate 配置 ,为了 对key采用string序列化方式 ...
- @WebServlet注解
@WebServlet("/LoginServlet") jsp页面: <form action="LoginServlet" method = &quo ...
- 2019牛客暑期多校训练营(第三场)F Planting Trees 单调队列
F Planting Trees 题目链接 https://ac.nowcoder.com/acm/contest/883/F 题目描述 The semester is finally over an ...