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