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 | awk '{print $1}' | sort -n | head -n 1 | xargs kill php bootDbPoole.php sleep 1 ps -ef | grep bootHttp | awk '{print $1}' | sort -n | head -n 1 | xargs kill sleep 1 php bootHttp.php sleep 1 ps -ef | grep bootSetOnly | awk '{print $1}' | sort -n | head -n 1 | xargs kill sleep 1 php bootSetOnly.php sleep 1 ps -ef | grep bootSettelementHttp | awk '{print $1}' | sort -n | head -n 1 | xargs kill sleep 1 php bootSettelementHttp.php sleep 1 ps -ef | grep bootRedisToSql | awk '{print $1}' | sort -n | head -n 1 | 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; } }