4006-838-530
当前位置: 主页 > FAQ

二开项目部署说明

发布时间:2026-11-07 06:27   浏览次数:次   作者:E企盈

前端基于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 

编译后, 会在目录的上一层生成模王系统/目录内生成代码

商城主程序源码

进入后端目录,(下面以模王系统为例, 开发者可自行定义)进行一系列依赖包处理

  1. 如没有composer请自行安装:https://getcomposer.org/download/ (版本: 2.7.2)

  2. 进入模王系统目录后, 执行composer update (composer命令使用说明请查看官网)

  3. 创建必须的目录:

    • mkdir -p storage/framework/{cache,sessions,views}
    • mkdir -p storage/logs/{error,debug}
  4. 在根目录新建.env文件

    • 将.env.example改成.env
    • php artisan key:generate
    • 追加下面内容到.env
      APP_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 
  5. 创建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'] = ''; 
  6. 创建database/redis.phpredis配置, 按需填写

    $redis = array(); 
     
    $redis['host'] = 'redis_db'; 
    $redis['password'] = 'cXzowQ+x3Eg'; 
    $redis['port'] = '6379'; 
    $redis['database'] = '0'; 
    $redis['cache_database'] = '1'; 
  7. 创建对应数据库,并执行数据初始化(初始化数据库只能走向导, 多平台框架源码,商城H5端源码都需要编译好才能走向导).

  8. 迁移数据库字段

    • /path/to/php /path/to/模王系统/artisan migrate
    •  
  9. 关键配置处理好后,执行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

二开项目部署说明(图1)
队列只可以开一个, 不能多个. 接收API请求可以是多个.

注意:

  1. 删除缓存: 商城目录下bootstrap/cache/*缓存文件,并重启swoole
  2. 修改代码必须重启swoole才能生效
  3. 不要放通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; 
  }