二开项目部署说明
前端基于vue.js+webpack开发,如不懂请自行学习。官网上有详细的说明。或找我们二开
前端部分,请看前端说明文档
https://www.www.tengxinhulian.com/plugins/shop_server/knowledge/knowledge_detail/721?base_id=17&i=10&mid=277
后端基于php的laravel 8+swoole2.4.11开发,如不懂请自行学习。
官网:
https://laravel.com/docs/8.x
https://wiki.swoole.com/zh-cn/#/
获取各代码后解压包
获取地址: https://www.www.tengxinhulian.com/plugins/shop_server/download?i=10&fromLogin=1
多平台框架源码
node版本 v12.14.1
npm install --registry=https://registry.npmmirror.com
npm run build:prod
编译后, 会在目录的上一层生成模王系统/目录内生成代码
商城主程序源码
进入后端目录,(下面以模王系统为例, 开发者可自行定义)进行一系列依赖包处理
-
如没有composer请自行安装:https://getcomposer.org/download/ (版本: 2.7.2)
-
进入模王系统目录后, 执行
composer update(composer命令使用说明请查看官网) -
创建必须的目录:
mkdir -p storage/framework/{cache,sessions,views}mkdir -p storage/logs/{error,debug}
-
在根目录新建.env文件
将.env.example改成.envphp artisan key:generate- 追加下面内容到
.envAPP_Framework=platform
IS_WEB=/admin/shop
ROOT_PATH=''
EXTEND_DIR=''
IS_SWOOLE=true
# 监听地址与端口
LARAVELS_LISTEN_IP='0.0.0.0'
LARAVELS_LISTEN_PORT='5200'
# 进程数
LARAVELS_WORKER_NUM='1'
IS_DEBUG=false
-
创建
database/config.phpmysql配置, 按需填写$config = array();
$config['db']['master']['host'] = '127.0.0.1';
$config['db']['master']['username'] = 'root';
$config['db']['master']['password'] = 'aabb';
$config['db']['master']['port'] = '3306';
$config['db']['master']['database'] = 'yz';
$config['db']['master']['tablepre'] = 'ims_';
$config['db']['slave_status'] = false;
$config['db']['slave']['1']['host'] = '';
$config['db']['slave']['1']['username'] = '';
$config['db']['slave']['1']['password'] = '';
$config['db']['slave']['1']['port'] = '';
$config['db']['slave']['1']['database'] = '';
$config['db']['slave']['1']['tablepre'] = ''; -
创建
database/redis.phpredis配置, 按需填写$redis = array();
$redis['host'] = 'redis_db';
$redis['password'] = 'cXzowQ+x3Eg';
$redis['port'] = '6379';
$redis['database'] = '0';
$redis['cache_database'] = '1'; -
创建对应数据库,并执行数据初始化(初始化数据库只能走向导, 多平台框架源码,商城H5端源码都需要编译好才能走向导).
-
迁移数据库字段
- /path/to/php /path/to/模王系统/artisan migrate
-
关键配置处理好后,执行
bin/laravels start启动服务
商城H5端源码
node版本 v12.14.1
npm install --registry=https://registry.npmmirror.com
npm run build
编译后, 会在目录的上一层生成yz-front-dist/目录内生成代码
项目打包
商城主程序源码准备好后,
将“多平台框架源码”生成的代码admin.html 复制到商城主程序源码模王系统/目录下
将“多平台框架源码”生成的代码static/framework整个目录复制到商城主程序源码模王系统/addons/模王系统/static/下
将“商城H5端源码”生成的代码index.html复制到商城主程序源码模王系统/目录下
将“商城H5端源码”生成的代码/static/app整个目录复制到商城主程序源码模王系统/addons/模王系统/static/下
生产上建议配置supervisor去管理守护进程
所有业务必须统一用户执行, 否则会报错
swoole: /path/to/模王系统/swoole.sh /path/to/php
queue: /path/to/模王系统/daemon.sh /path/to/php
supervisor配置
单机客户需要修改
supervisord.conf需要修改如下
[inet_http_server]
port=127.0.0.1:9001
集群客户需要修改
supervisord.conf需要修改如下
[inet_http_server]
port=*:9001
守护进程配置
[program:swoole]
process_name=%(program_name)s_%(process_num)02d
command=/path/to/swoole.sh /usr/local/bin/php
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stdout_logfile=/path/to/storage/logs/swoole.log
[program:queue]
process_name=%(program_name)s_%(process_num)02d
command=/path/to/daemon.sh /usr/local/bin/php
user=root
numprocs=1
autostart=true
autorestart=true
startsecs=3
stopasgroup=true
killasgroup=true
redirect_stderr=true
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=7
stdout_logfile=/path/to/storage/logs/worker.log
说明:
swoole核心后端API: /path/to/swoole.sh swoole.sh文件位置
队列: /path/to/daemon.sh daemon.sh文件位置/path/to/php php执行文件位置/path/to/storage/logs/swoole.lo. 日志位置/path/to/storage/logs/worker.log 日志位置
注意⚠️: 上述设置为通过yum源安装官方supervisor的修改,宝塔或其它途径安装自行学习研究.
商城后台填写相应服务器内网ip

队列只可以开一个, 不能多个. 接收API请求可以是多个.
注意:
- 删除缓存: 商城目录下
bootstrap/cache/*缓存文件,并重启swoole - 修改代码必须重启swoole才能生效
- 不要放通9001对公网访问,出问题的自行负责
nginx配置
proxy.conf
proxy_connect_timeout 300s;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_set_header Connection "";
proxy_hide_header Vary;
proxy_set_header Accept-Encoding '';
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Server-Protocol $server_protocol;
proxy_set_header Server-Name $server_name;
proxy_set_header Server-Addr $server_addr;
proxy_set_header Server-Port $server_port;
宝塔伪静态内容从 `# pc端前端` 开始复制到结尾, 粘贴到宝塔伪静态内保存
server块设置
# static file config
location /addons/模王系统/static/ { root 网站路径;}
location /static/ {root 网站路径;}
location /business/ {root 网站路径;}
location = /favicon.ico { log_not_found off;}
# pc端前端
location /plugins/shop_server/ {
include proxy.conf;
proxy_pass http://127.0.0.1:3000;
}
# ws config
location /ws
{
proxy_pass http://127.0.0.1:8181;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
location /ws_msg
{
proxy_pass http://127.0.0.1:8182;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
# swoole config
location @laravels {
proxy_http_version 1.1;
include proxy.conf;
proxy_pass http://127.0.0.1:5200;
}
#支付回调
location /payment {
try_files "" @laravels;
}
#前台接口
location = /addons/模王系统/api.php {
try_files "" @laravels;
}
#前台入口
location = /addons/模王系统/ {
try_files $uri $uri/ /addons/模王系统/index.html$is_args$args;
}
#首页接口
location = /officialwebsite.php {
try_files "" @laravels;
}
# 企业后台接口
location ~ /business/[0-9]+ {
try_files "" @laravels;
}
# default
location / {
try_files $uri @laravels;
}






上一篇

