linux+nginx+php websocket server问题

isastudents 2013-08-07 11:38:01
我这边有一个 liunx+nginx+php环境的server

我希望在上边运行一个 websocket server(是用PHP写的)我这边用linux php下的php 运行webSocket/server.php 打印和运行都是正常的。

但是当我用客户端连接的时候,服务器端根本没有反应。

我的nginx是1.4版本的,网上说1.3版本就支持WebSocket了。
并且给了


location /chat/ {

proxy_pass ​http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

说是反向代理

http://nginx.org/en/docs/http/websocket.html

请高手帮我想想办法
...全文
520 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzc0653 2013-10-18
  • 打赏
  • 举报
回复
这里有现成的代码:http://www.yxsss.com/sg.php?fp=0&tag=WebSocket demo:http://www.yxsss.com/ui/sk.html
lzc0653 2013-10-18
  • 打赏
  • 举报
回复
websocket 和 你的 nginx 没有关系吧,即使吧nginx 卸载了 一样可以用php写socket啊
1.安装 上传源码到网站目录,设置网站目录为源码二级目录public,很多虚拟主机不支持此设置 伪静态,源码默认包含了apache的伪静态规则,但很多情况下还需要自己设置,请百度对应对应的设置方法,例如Nginx thinkphp5伪静态设置,如果您使用的宝塔,那么在网站伪静态里面设置一下即可。如果伪静态没有设置好,会出现资源文件找不到,图片脚本等都404等情况。 2.配置 由于前期准备写给自己用的,偷懒了很多情况,一些配置直接写在\application\config.php中,所有请打开文件修改配置 3.邮箱服务器配置,注册,找回密码,购卡等操作需要用到邮箱发信 请在配置文件中找到mail节点设置smtp服务器账号和密码 如 'mail' => [ 'server'=>'smtp.qq.com', 'acount' => 'q214783030@qq.com', 'password' => '' 密码不是qq密码 ] 4.此版本更新安全,有用到openssl的rsa加密。需要配置openssl.cnf的路径,请在配置文件中修改 如:'opensslConf'=> 'D:\BtSoft\WebSoft\apache\conf\openssl.cnf' 此文件一般在你的apache配置文件夹中 5.支付,如果您想使用验证的自动发卡功能,官方默认支持两种对接方式 1.微信原生支付,需要签约商户,微信支付配置文件vendor/wxpay/WxPay.Config.php 绑定支付的APPIDGet AppId() 商户号 GetMerchantId()商户支付密钥 GetKey() 2.码支付,默认qq和支付宝使用码支付对接,需要挂监听软件,码支付官网https://codepay.fateqq.com/ 6.开启Workerman,这是一个socket库,这次的版本添加了websocket心跳方式,开启的好处是即时心跳,比如秒t下线,即时消息,群发消息,另外带个定时器,每个6分钟自动执行一次清理异常掉线未发退出登录通知服务器的用户,如果不开启,会出现很多麻烦,使用方法,双击打开源码目录下的start_for_win.bat,并保持cmd窗口打开,此功能仅在windows下测试过,linux大同小异主要执行php start_register.php start_gateway.php start_businessworker.php 如果正常运行您可以看到3个工作ok yzGateway Register yzBusinessWorker,可能出现的问题,找不到php命令,把php.exe加入到环境变量即可,如果使用websocket心跳的话,单机最大可能只有1000左右连接 7.必须开启openssl扩展 安装可能出现的问题 1.数据库连接不上,如果您确认数据库账号密码是正确的却连接不上,可以手动导入sql文件,文件路径/public/install/test.sql,导入成功后需要在application/database.php中配置您的库信息 2.安装时候环境监测有可能有点问题,不想整了,自己确定就行 遇到其它问题加群 365011408 提问即可 遇到返回数据未解密,用模块源码取调试 调用例子群文件获取,官网对接看这里 必须要开启Workerman 心跳处理,2种心跳方式,一种web定时心跳,一种socket主动发送
Piplin是一款免费、开源的持续集成与部署系统,适用于软件的自动化构建、测试和部署相关的各种应用场景。 特点: 支持PHP、Python、JAVA、Ruby等项目的构建、测试与发布 可与Gitlab、Github、Gogs、Gitee(Oschina)等代码托管平台进行集成 可灵活配置自定义构建和部署步骤 支持自定义构建物规则,对构建物创建发布版本并部署 支持项目的多环境部署(可自行建立开发、测试、预发布和生产等多个环境) 支持联动部署,比如:开发环境部署成功后可自动触发测试环境启动部署 服务管理支持机柜功能,机柜可与多个部署环境绑定 支持项目克隆功能 项目支持多成员 通过Websocket实现项目部署状态的实时跟踪 支持钉钉机器人、Slack、邮件和自定义Webhook的服务集成 安装环境要求: Piplin目前只支持类Unix操作系统(如: Linux, Freebsd, Mac OS等),为了能运行Piplin,您还需要安装一些基础软件。 Web服务器: Nginx, Apache (with mod_rewrite),or Lighttpd PHP 7.0+ 数据库: 推荐使用MySQL 或 PostgreSQL。 SQLite也可运行。 Composer Redis Node.js 队列系统, 推荐使用Beanstalkd或Redis。 Supservisord, Piplin使用Supervisord进行后台进程管理。 Rsync 如无特殊情况,一般系统都会自带rsync 缓存服务: 推荐使用Memcached, 更多的缓存方案选择请看 caching server. Docker安装,请访问我们的Piplin Docker项目。

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧