readme.txt 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. 1.安装docker服务进程
  2. 2.下载镜像 docker.io/zaherg/php-swoole (此镜像中有php7.3 swoole4.3扩展 redis扩展) 和 下载redis镜像并启动容量服务
  3. 3.新建目录 /home/swooleProV2/dataInterface/
  4. 4.上传文件到此目录下面,
  5. 5.运行composer update 更新comoser组件
  6. 6.注意修改配置文件以适应线上环境[复制 config.sample.php 为 config.php]
  7. 7.启动容器 注意目录(建立目录映射)和端口关系(应用启动的默认端口号为:9093数据接口服务, 9094结算接口服务)
  8. 8.进入容器并 手动启动脚本 /home/swooleProV2/dataInterface/command/init.sh 启动服务,[也可以在启动容器时启动脚本,一并启动服务]
  9. 9.重启服务:可以重启容器,或kill主进程再重运行启动脚本
  10. bootDbPoole.php 数据库服务接口(暂未用)
  11. bootHttp.php 数据采集接口服务启动脚本
  12. bootSettelementHttp.php 赛事输赢判断接口,订单结算提交接口 服务启动脚本
  13. bootSetOnly.php 订单业务 服务启动脚本
  14. bootRedisToSql.php 订单业务之把redis库的sql语句批量执行 服务启动脚本
  15. ps -ef | grep boot | awk '{print $5}'| grep php | uniq 查看进程是否运行
  16. 杀死进程,启动进徎
  17. cd /home/swooleProV2/dataInterface/command
  18. # ps -ef | grep bootDbPoole | grep -v 'grep'| awk '{print $1}' | sort -n | sed 's/root//' | head -n 1 | xargs kill
  19. # php bootDbPoole.php
  20. sleep 1
  21. ps -ef | grep bootHttp | grep -v 'grep' | awk '{print $1}' | sort -n | sed 's/root//' | head -n 1 | xargs kill
  22. sleep 1
  23. php bootHttp.php
  24. sleep 1
  25. ps -ef | grep bootSetOnly | grep -v 'grep' | awk '{print $1}' | sort -n | sed 's/root//' | head -n 1 | xargs kill
  26. sleep 1
  27. php bootSetOnly.php
  28. sleep 1
  29. ps -ef | grep bootSettelementHttp | grep -v 'grep' | awk '{print $1}' | sort -n | sed 's/root//' | head -n 1 | xargs kill
  30. sleep 1
  31. php bootSettelementHttp.php
  32. sleep 1
  33. ps -ef | grep bootRedisToSql | grep -v 'grep' | awk '{print $1}' | sort -n | head -n 1 | sed 's/root//' | xargs kill
  34. sleep 1
  35. php bootRedisToSql.php
  36. ps -ef | grep bootDbPoole | awk '{print $1}' | sort -n | head -n 1 | xargs kill
  37. ps -ef | grep bootHttp | awk '{print $1}' | sort -n | head -n 1 | xargs kill
  38. ps -ef | grep bootSetOnly | awk '{print $1}' | sort -n | head -n 1 | xargs kill
  39. ps -ef | grep bootSettelementHttp | awk '{print $1}' | sort -n | head -n 1 | xargs kill
  40. ps -ef | grep bootRedisToSql | awk '{print $1}' | sort -n | head -n 1 | xargs kill
  41. 客户端调用:
  42. get:
  43. 胜负处理:http://192.168.2.200:9094/WinFail?noticeid=28840954&token=O9Z8zK15629128605d28285cb15dc
  44. post:
  45. 结算:
  46. $data = [
  47. 'token' => 'O9Z8zK15629128605d28285cb15dc',
  48. 'order_ids' => implode(",", $order_idsArray),
  49. 'bettype' => 1,
  50. 'settype' => 2,
  51. 'game_code' => 'zq',
  52. 'match_id' => 866,
  53. 'change_status' => 1
  54. ];
  55. $ret = request_post('http://192.168.2.200:9094/Settelement', $data);
  56. http接口 的 nginx代理:
  57. limit_conn_zone $binary_remote_addr zone=addr:10m;
  58. limit_req_zone $binary_remote_addr zone=one:10m rate=30r/s;
  59. server {
  60. listen 19093;
  61. server_name 103.108.41.112;
  62. access_log /home/wwwlogs/httpdata.proxy.access.log;
  63. error_log /home/wwwlogs/httpdata.proxy.error.log;
  64. root html;
  65. index index.html index.htm index.php;
  66. limit_conn addr 20;
  67. limit_req zone=one burst=50;
  68. ## send request back to apache ##
  69. location / {
  70. proxy_pass http://103.108.41.112:9090;
  71. #Proxy Settings
  72. proxy_redirect off;
  73. proxy_set_header Host $host;
  74. proxy_set_header X-Real-IP $remote_addr;
  75. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  76. proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
  77. proxy_max_temp_file_size 0;
  78. proxy_connect_timeout 90;
  79. proxy_send_timeout 90;
  80. proxy_read_timeout 90;
  81. proxy_buffer_size 8k;
  82. proxy_buffers 8 32k;
  83. proxy_busy_buffers_size 128k;
  84. proxy_temp_file_write_size 128k;
  85. }
  86. }