安装说明.md 6.9 KB

安装说明

1、系统运行环境说明

1.php版本建议 php7.1+

2.数据库建议 mysql8.0+,mysql5.6也可运行

3.系统要求centos7.5+,建议4核8G,80+G硬盘

4.需要安装nginx,站点服务运行,建议可以宝塔一键安装 ,或lnmp按一键安装

5.需要安装composer,用于安装依赖包

6.需要开放的端口:80、443、6520(客服端口)

7.需要安装的PHP扩展

  • redis扩展,缓存

  • gmp扩展,数字钱包加密

  • swoole扩展,客服聊天

  • 其他默认必要的扩展

2、安装步骤

1.解压压缩包代码内容到站点根目录

2.创建数据库,并将压缩包内到数据库文件导入到数据库中

3.配置nginx站点项目伪静态和跨域请求

location / {

    # 请求地址允许跨域
    add_header Access-Control-Allow-Origin *;
    # 请求方法允许跨域
    add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS,PUT,DELETE,PATCH,Origin';
    # 设置是否允许 cookie 传输
    add_header Access-Control-Allow-Credentials 'true';
    # 设置请求头 这里为什么不设置通配符 * 因为不支持
    add_header Access-Control-Allow-Headers 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With,X-Data-Type,X-Auth-Token';
    
    if ($request_method = 'OPTIONS') {
	 return 200;
    }


    if (!-e $request_filename){
	 rewrite  ^(.*)$  /index.php?s=$1  last;   break;
    }
}  

4.配置站点客服请求入口

# 在站点配置文件中,伪静态配置后添加下面配置
location /im {
        proxy_pass http://imCustom;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
}

# 站点配置文件顶部,server上方添加下面负载均衡节点配置
upstream imCustom {
   server 127.0.0.1:6520;
}


5.配置钱包接口跳转域名

#nginx 配置钱包地址跳转跨国内访问域名作为钱包接口地址,配置在后台钱包接口地址参数
server
{
    listen 80;
    server_name scanapi.otc168.net;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/scanapi.otc168.net;
    location /{
  		proxy_pass  https://api.etherscan.io; #钱包接口域名
  		proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
   }
}

6.项目根目录.env配置文件,修改对应配置内容

#站点配置
APP_URL=http://test.com   # 站点后端接口地址
WEB_URL=http://xxx.com/   # 站点前端地址

# 数据库配置
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_PREFIX=lev_
DB_DATABASE=nn2022060801  # 修改为新数据库名称
DB_USERNAME=nn2022060801  # 修改为新数据库账号
DB_PASSWORD=BAJwCryBsLPFycsF  # 修改为新数据库密码

# 缓存配置
CACHE_DRIVER=redis  # 当前使用的缓存驱动,file-本地文件缓存,redis-redis缓存
REDIS_PREFIX=null   # 缓存前缀
REDIS_HOST=47.112.222.163  # 缓存host
REDIS_PASSWORD=derkj&6688  # 缓存auth密码
REDIS_PORT=6379            # 缓存端口
REDIS_DB=0                  # 缓存数据库ID

#socket客服聊天服务端口配置,默认,修改需要开放端口
SOCKET_PORT=6520

# 邮件服务默认配置(可后台配置)
MAIL_DRIVER=smtp  # 默认
MAIL_HOST=smtp.163.com  # 默认
MAIL_PORT=25 # 默认
MAIL_USERNAME=test@163.com  # 发送账号邮箱用户名
MAIL_FROM_ADDRESS=wesmiler@163.com  # 发送用户邮箱地址
MAIL_PASSWORD=HGXTVTQDYKWEXEKE   # 发送账号授权密钥
MAIL_ENCRYPTION=tls     # 加密方式,默认

7.运行客服IM聊天服务

命令行状态下,进入项目根目录,运行以下命令:
nohup php artisan swoole:socketIm start >/dev/null 2>&1 & // 后台运行
nohup php artisan swoole:socketIm stop   // 停止运行

3、后台程序配置和打包

1.站点内容目录在addons/admin目录下 2.进入src/config目录,修改setting.js配置文件

# 站点接口配置
baseURL: 'http://test.com/',  // 接口地址
socketUrl: 'ws://test.com/im',  // Socket聊天客服地址
  1. addons/admin 目录下初始化项目(需先安装nodejs14和vue2.0+运行环境) ``` npm install # 初始化项目,安装依赖 npm run dev # 本地运行项目 npm run build # 打包项目

4.更新后台打包内容 

将打包好的内容addons/admin/dist目录下的内容,拷贝到项目根目录下public/admin和public/business内即可


### 4、前端程序配置和打包
1.站点内容目录在addons/otcapp目录下
2.使用hbuilder打开该目录项目,修改common/api.js接口配置文件

站点接口配置

const socketUrl = 'ws://test.com/im' # 客服聊天地址 const baseUrl = 'http://test.com' # 站点接口地址

3. 选中addons/otcapp项目目录,发行为web或h5(需先安装nodejs14和vue2.0+运行环境)

或使用以下命令进行初始化和运行打包

npm install # 初始化项目,安装依赖 npm run dev # 本地运行项目 npm run build # 打包项目


4.更新打包内容

将打包好的内容addons/otcaapp/unpackage/dist/build/h5目录下的内容,拷贝到项目根目录下public/h5内即可

5. 访问站点

总后台地址: http://test.com/admin 超级管理员账号:otcadm 123456

交易员后台地址: http://test.com/business

H5地址: http://test.com/h5 可用来打包成APP



6. 添加定时任务(宝塔面板任务管理)

1.监听TRC钱包地址存币(1分钟请求一次) 域名/api/task/catchTrcRecharge?key=99d34e1cef

2.监听ERC钱包地址存币(1分钟请求一次) 域名/api/task/catchErcRecharge?key=99d34e1cef

3.监听平台TRC平台出账钱包交易记录(1分钟请求一次) 域名/api/task/catchTrcTransferByOtc?key=99d34e1cef

4.监听平台ERC平台出账钱包交易记录(1分钟请求一次) 域名/api/task/catchErcTransferByOtc?key=99d34e1cef

5.监听平台TRC平台入账钱包交易记录(1分钟请求一次) 域名/api/task/catchTrcTransferByOtcIn?key=99d34e1cef

6.监听平台ERC平台入账钱包交易记录(1分钟请求一次) 域名/api/task/catchErcTransferByOtcIn?key=99d34e1cef

6.自动归集TRC总钱包(10分钟请求一次) 域名/api/task/catchTrcTruggerByOtc?key=99d34e1cef

7.自动归集ERC总钱包(10分钟请求一次) 域名/api/task/catchErcTruggerByOtc?key=99d34e1cef

8.派单订单自动取消任务(5分钟请求一次) 域名/api/task/catchTradeCancel?key=99d34e1cef

9.广告订单自动取消任务(5分钟请求一次) 域名/api/task/catchAdvertCancel?key=99d34e1cef

10.派单订单状态通知(1分钟请求一次) 域名/api/task/catchTradeOrderNotify?key=99d34e1cef

```