---
title: 单机部署方案.pdf
description: 文本抽取：知识库/02-商城交易私域场景/ECshopex开源资料/单机部署方案.pdf
updated: 2026-11-04
tags: [原始文档, 抽取, 知识库]
source: 知识库/02-商城交易私域场景/ECshopex开源资料/单机部署方案.pdf
source_type: txt
source_hash: 93293f19dde7
extracted_at: 2026-11-04
quality: ok
---

---
source: 知识库/02-商城交易私域场景/ECshopex开源资料/单机部署方案.pdf
type: pdf
size_kb: 276
category: 02-商城交易私域场景
quality: ok
---

<a id="page-1"></a>## Page 1
单机部署方案
约定
 操作系统：Centos7.xx64
 域名:文档内域名规划参见系统部署/准备/域名
 操作权限:root
服务清单
 supervisorctl>3.0
 mysql5.7
 nginx+php-fpm
 npm>6.0
 redis~4.x
 php7.2
 java8
 elasticsearch7.x
基础服务部署
调整时间
timedatectlset-timezoneAsia/Shanghai

<a id="page-2"></a>## Page 2
安装 sudo
yuminstallsudo
安装 PHP
yum-yinstallepel-release
yuminstallhttp://rpms.remirepo.net/enterprise/remi-release-7.rpm
yuminstallyum-utils
yum-config-manager--enableremi-php72
yuminstallphp72\
php72-php-gd\
php72-php-json\
php72-php-mbstring\
php72-php-mysqlnd\
php72-php-xml\
php72-php-opcache\
php72-php-bcmath\
php72-php-pecl-swoole\
php72-php-pecl-mongodb\
php72-php-pecl-zip\
php72-php-pecl-redis4\
php72-php-pcntl\
php72-php-pecl-apcu
ln/opt/remi/php72/root/usr/bin/php/usr/bin/php
验证
php--version
php--modules

<a id="page-3"></a>## Page 3
安装 composer
curl-sShttps://getcomposer.org/installer|php----install-dir=/usr/bin--filename=composer
/usr/bin/composerconfig-grepo.packagistcomposerhttps://mirrors.aliyun.com/composer/
安装 supervisor
版本基于 3.0
安装 supervisor
yuminstall-yepel-release
yuminstall-ysupervisor
开启 supervisorctl
systemctlenablesupervisord.service
创建用户和组
groupaddwww
useradd--shell/sbin/nologin-gwwwwww
安装 php-fpm
安装 php-fpm
yuminstallphp72-php-fpm
开启 php-fpm

<a id="page-4"></a>## Page 4
systemctlenablephp72-php-fpm.service
修改用户权限,将用户和组从 apache改为 www
/etc/opt/remi/php72/php-fpm.d/www.conf
user=www
group=www
安装 npm
1. 添加 Node.jsYum 仓库
curl-sLhttps://rpm.nodesource.com/setup_12.x|bash-
2. 安装 Node.js
yuminstall-ynodejs
3. 检查 Node.js 和 NPM 版本
node-v
v12.6.0
Also,checktheversionofnpm.
npm-v
6.9.0
参考:HowToInstallLatestNodejsonCentOS/RHEL7/6

<a id="page-5"></a>## Page 5
安装 nginx
安装 nginx
yuminstallnginx
开启 nginx
systemctlenablenginx.service
安装 crontabs
如果已经安装，请忽略
yuminstallcrontabs
systemctlenablecrond.service
systemctlstartcrond.service
安装 redis
如果使用阿里云的 redis，安装请忽略
安装 redis
yuminstall-yredis
开启 redis
yumenableredis

<a id="page-6"></a>## Page 6
修改配置文件/etc/redis.conf
#requirepassfoobared
requirepass #指定密码为redis1234
启动 redis
systemctlstartredis
测试
redis-cli-h127.0.0.1-aredis1234
keys*
安装 mysql
如果使用云方提供的 RDS,请忽略安装
添加 mysql7 的源到本地 centos 源中
yuminstall-yhttps://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
安装 mysql
yuminstall-ymysql-server
修改配置文件/etc/my.conf(配置位置取决于安装方式)
如果使用阿里云的 RDS 可以忽略此步骤
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_
ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

<a id="page-7"></a>## Page 7
开启 mysql
systemctlenablemysqld
启动 mysql
systemctlstartmysqld
在安装过程中，为 MySQLroot 用户生成一个临时密码
grep'temporarypassword'/var/log/mysqld.log
输出:
2016-12-01T00:22:31.416107Z1[Note]Atemporarypasswordisgeneratedforroot@localhost:mqRfBU_3Xk>r
请记录下密码,在此例里中为 mqRfBU_3Xk>r
mysql_secure_installation
会提示你输入默认的 root 密码,输入好后,会被要求改掉密码.
输出
Theexistingpasswordfortheuseraccountroothasexpired.Pleasesetanewpassword.
Newpassword:
输入一个新的 12 个字符的密码，该密码至少包含一个大写字母、一个小写字母、一个数字和
一个特殊字符。在提示时重新输入.
在此例中设置为,Wka25ijklmng0ada-x

<a id="page-8"></a>## Page 8
您将收到关于新密码强度的反馈，然后您将立即被提示再次更改密码.
输出
Estimatedstrengthofthepassword:100
Changethepasswordforroot?(Pressy|YforYes,anyotherkeyforNo):
我们将按下 Y，然后进入所有后续问题，以便删除匿名用户、禁止远程根登录、删除测试数
据库并访问它，并重新加载特权表.
命令行连接 mysql
mysql-uroot-p"Wka25ijklmng0ada-x"
创建应用数据库
请使用编码utf8mb4
CREATEDATABASEespier_bloatedCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;
参考:HowToInstallMySQLonCentOS7
安装 Java
Java 环境是为了运行 elasticsearch
安装Java8JDK
yum-yinstalljava-1.8.0-openjdk java-1.8.0-openjdk-devel
设置JavaHOME等环境变量
cat<<EOF|sudotee/etc/profile.d/java8.sh
exportJAVA_HOME=/usr/lib/jvm/jre-openjdk
exportPATH=\$PATH:\$JAVA_HOME/bin

<a id="page-9"></a>## Page 9
exportCLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar
EOF
环境变量更新
source/etc/profile.d/java8.sh
安装 Elasticsearch
添加Elasticsearch7.x源
cat<<EOF|sudotee/etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearchrepositoryfor7.xpackages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
安装Elasticsearch
yum-yinstallelasticsearch-oss
根据机器性能调整JVM配置（可选）
vi/etc/elasticsearch/jvm.options
#找到对应设置
-Xms1g改成=>-Xms256m
-Xmx1g改成=>-Xmx512m

<a id="page-10"></a>## Page 10
启动 Elasticsearch
systemctlenable--nowelasticsearch
调用接口确认启动成功
curlhttp://127.0.0.1:9200
安装分词插件
安装 lk 分词，插件版本需要和 es 版本对应。
/usr/share/elasticsearch/bin/elasticsearch-plugininstallhttps://github.com/medcl/elasticsearch-analysis-
ik/releases/download/v7.7.1/elasticsearch-analysis-ik-7.7.1.zip
系统应用部署
部署几部分
系统是前后端分离的。所以分为商家端(VUE 开发，后台管理页面)，API 端(PHP 开发，提供
api 服务)
配置授权
安装 swoole-loader，用于解密。下载地址如果变化，请自行验证一下
确认 PHP 扩展目录
#php-r'phpinfo();'|grep-i'^extension_dir'
extension_dir=>/opt/remi/php72/root/usr/lib64/php/modules=>/opt/remi/php72/root/usr/lib64/php/modules
本例中为/opt/remi/php72/root/usr/lib64/php/modules

<a id="page-11"></a>## Page 11
curlhttps://business.swoole.com/static/loader2.0.0/swoole_loader72.so>
/opt/remi/php72/root/usr/lib64/php/modules/swoole_loader72.so
php 扩展配置文件位置
#php-r'phpinfo();'|grep-i'Scanthisdirforadditional'
Scanthisdirforadditional.inifiles=>/etc/opt/remi/php72/php.d
设置授权
注意配置 license 的正确位置,默认 license.zl 在代码包(espier-bloated)根目录下
{\
echo"extension=swoole_loader72.so";\
echo"swoole_license_files=/var/www/html/license.zl"; \
}>/etc/opt/remi/php72/php.d/60-swoole_loader.ini
重启 fpm
systemctlenablephp72-php-fpm.service
部署 API 服务(php)
配置
后端代码
mkdir-p/var/www/espier-bloated
chown-Rwww:www/var/www/espier-bloated
放置代码到/var/www/espier-bloated 目录中

<a id="page-12"></a>## Page 12
修改配置.env,拷贝.env.production 文件做为模版.
1. 配置数据库
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=espier_bloated
DB_USERNAME=root
DB_PASSWORD=Wka25ijklmng0ada-x
2. 配置 REDIS
#REDIS 配置
REDIS_CLIENT=predis
REDIS_HOST=
#必须要设置密码
REDIS_PASSWORD=redis1234
REDIS_PORT=6379
3. 配置队列
QUEUE_DRIVER=redis
4. 配置缓存
CACHE_DRIVER=redis
5. 配置七牛如何获取 AccessKey 和 SecretKey
#图片 CDN 域名
QINIU_IMAGE_DOMAIN=b-img-cdn.yuanyuanke.cn
#图片 bucket
QINIU_IMAGE_NAME=espier-images
#导入导出文件 CDN 域名

<a id="page-13"></a>## Page 13
QINIU__FILE_DOMAIN=https://b-import-cdn.yuanyuanke.cn
导入导出 bucket
QINIU_FILE_NAME=espier-import-files
#七牛 AccessKey
QINIU_ACCESS_KEY=
#七牛 SecretKey
QINIU_SECRET_KEY=
6. 配置阿里 OSS 选七牛就不用配了
#OSS 配置
##OSS 密钥配置
OSS_ACCESS_KEY=
OSS_SECRET_KEY=
##OSS 文件配置
###不通地区域名不一样，文件类的不需要 cdn
OSS_FILE_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com
OSS_FILE_BUCKET=oss-cdn
OSS_FILE_IS_CNAME=false
##OSS 图片配置
OSS_IMAGE_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com
OSS_IMAGE_BUCKET=oss-cdn
###是否开启 cdn
OSS_IMAGE_IS_CNAME=false
###图片 cdn,开启 cdn 则该配置必填
OSS_IMAGE_DOMAIN=
##OSS 视频配置
OSS_VIDEO_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com
OSS_VIDEO_BUCKET=oss-cdn
OSS_VIDEO_IS_CNAME=flase
###视频 cdn,开启 cdn 则该配置必填
OSS_VIDEO_DOMAIN=
8. 配置微信开放平台第三方平台相关配置

<a id="page-14"></a>## Page 14
#微信开放平台对应第三方平台 APPID
WECHAT_APPID=
#微信开放平台对应第三方平台 APPSECRET
WECHAT_SECRET=
#微信开放平台对应第三方平台消息校验 Token
WECHAT_TOKEN=
#微信开放平台对应第三方平台消息加解密 Key
WECHAT_AES_KEY=
WECHAT_DEBUG=true
9.配置商城小程序模版模版 ID,需要添加到小程序模版库，获得模版 ID,参考:开发者平台小程
序模板
#微商城小程序配置
##微信模板 id
YYKWEISHOP_TEMPLATE_ID=1
##微信模板 id(小程序支持直播，一般可不填)
YYKWEISHOP_TEMPLATE_ID_2=1
##小程序自定义版本
YYKWEISHOP_VERSION=v1.0.0
##request 合法域名，逗号分割
YYKWEISHOP_REQUESTDOMAIN=https://b.test.cn
##socket 合法域名，逗号分割
YYKWEISHOP_WSREQUESTDOMAIN=wss://b-websocket.test.cn
##uploadFile 合法域名，逗号分割,七牛，根据自己实际情况填
YYKWEISHOP_UPLOADDOMAIN=https://up.qiniup.com,https://up-as0.qiniup.com,https://up-
na0.qiniup.com,https://up-z1.qiniup.com,https://up-z2.qiniup.com
##uploadFile 合法域名，逗号分割,阿里 OSS,根据自己实际情况填
#YYKWEISHOP_UPLOADDOMAIN=https://oss-cn-hangzhou.aliyuncs.com
##downloadFile 合法域名，逗号分割，七牛，根据自己实际情况填
YYKWEISHOP_DOWNLOADDOMAIN=https://mmbiz.qpic.cn,https://wx.qlogo.cn,https://up.qiniup.com,https://u
p-as0.qiniup.com,https://up-na0.qiniup.com,https://up-z1.qiniup.com,https://up-z2.qiniup.com
##downloadFile 合法域名，逗号分割，阿里 OSS,根据自己实际情况填
#YYKWEISHOP_DOWNLOADDOMAIN=https://mmbiz.qpic.cn,https://wx.qlogo.cn,https://oss-cn-
hangzhou.aliyuncs.com

<a id="page-15"></a>## Page 15
##业务域名，逗号分割
YYKWEISHOP_WEBVIEWDOMAIN=
10.配置腾讯位置服务
腾讯位置服务需要申请账号配置 KEY,KEY 对接口的访问是有配额的,配额内是免费的.
在腾讯位置服务 Key 管理,可以查询到 Key,并且可以查询到配额.
为了开发环境方便,提供只为开发环境公用的免费 KEY.因为是公共的,无法保证一定可用
QQMAP_KEY=PSPBZ-KQ5CW-CSGRF-ON2S4-K2HQJ-XEBQG
11.配置支付通知接口
WECHAT_PAYMENT_NOTIFY=https://b.yuanyuanke.cn/wechatAuth/wxpay/notify
12.生成 api 密钥
phpartisanjwt:secret
13.修改业务版本
standard：标准连锁版，后台界面有“店铺”菜单
platform：平台版，后台界面有“商家”菜单，并且有独立的店铺后台
切勿别错了，否则菜单有差别，业务有差别，包括 vue 端也是一样的要配置这个版本
#系统版本，standard|platform
PRODUCT_MODEL=standard
14.百胜 E3 配置

<a id="page-16"></a>## Page 16
#百胜 E3 开关-不配置则不使用
BAISON_PERMISSION=true
#百胜请求地址
BAISON_URL=
BAISON_KEY=
BAISON_SECRET=
#百胜定制接口请求地址
BAISON_CUSTOMURL=
15.DW 微软 CRM 配置
#DW 微软 CRM 开关-不配置则不使用
DW_CRM_PERMISSION=true
#DW 微软 CRM 请求地址
DW_CRM_URL=
#DW 微软 CRMkey
DW_CRM_KEY=
#DW 微软 CRM集成接口请求地址
DW_CRM_INTERNALURL=
#DW 微软 CRM集成接口 key
DW_CRM_INTERNALKEY=
#DW 微软 CRM 加密 key
DW_CRM_ENCODINGAESKey=
#DW 微软 CRM 加密 appid
DW_CRM_CORPID=
完整的例子
#标识应用环境,本地环境设置为 local,生产环境为 production
APP_ENV=production
#调试模式,正式环境可以关闭(true,false)
APP_DEBUG=true
#时区不要修改
APP_TIMEZONE=PRC

<a id="page-17"></a>## Page 17
#数据库相关配置
##DB_CONNECTION 默认不需要改
DB_CONNECTION=default
DB_HOST=
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
#REDIS 配置
REDIS_CLIENT=predis
REDIS_HOST=
REDIS_PASSWORD=redis1234
REDIS_PORT=6379
#数据库主从配置
#DB_DRIVER=master_slave
#DB_MASTER={"user":"root","password":"123455","host":"localhost","dbname":"ecx"}
#DB_SLAVES=[{"user":"root","password":"123455","host":"localhost2","dbname":"ecx"},{"user":"root","password
":"123455","host":"localhost3","dbname":"ecx"}]
#缓存驱动,默认使用 redis
CACHE_DRIVER=redis
#队列驱动,默认使用 redis
QUEUE_DRIVER=redis
#文件存储。oss 或者 qiniu
DISK_DRIVER=qiniu
#七牛相关配置
##七牛密钥配置
QINIU_ACCESS_KEY=
QINIU_SECRET_KEY=
##七牛图片配置
QINIU_IMAGE_DOMAIN=
QINIU_IMAGE_NAME=espier-image

<a id="page-18"></a>## Page 18
QINIU_IMAGE_REGION=z2
##七牛视频配置
QINIU_VIDEO_DOMAIN=
QINIU_VIDEO_NAME=espier-videos
QINIU_VIDEO_REGION=z2
##七牛文件配置
QINIU__FILE_DOMAIN=
QINIU_FILE_NAME=espier-file
#OSS 配置
##OSS 密钥配置
OSS_ACCESS_KEY=
OSS_SECRET_KEY=
##OSS 文件配置
###不通地区域名不一样，文件类的不需要 cdn
OSS_FILE_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com
OSS_FILE_BUCKET=oss-cdn
OSS_FILE_IS_CNAME=false
##OSS 图片配置
OSS_IMAGE_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com
OSS_IMAGE_BUCKET=oss-cdn
###是否开启 cdn
OSS_IMAGE_IS_CNAME=false
###图片 cdn,开启 cdn 则该配置必填
OSS_IMAGE_DOMAIN=
##OSS 视频配置
OSS_VIDEO_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com
OSS_VIDEO_BUCKET=oss-cdn
OSS_VIDEO_IS_CNAME=flase
###视频 cdn,开启 cdn 则该配置必填
OSS_VIDEO_DOMAIN=
#JWT相关配置,通过 phpartisanjwt:secret 生成密钥，线上务必修改
JWT_SECRET=ker4H1Gp4TsddddWJMaB2SMA8Zsh3drv
JWT_TTL=7200
JWT_REFRESH_TTL=20160

<a id="page-19"></a>## Page 19
#微信第三方平台配置。本地开发环境不配置,会影响到调用微信的相关页面,整体不影响后台开发。
##第三方平台 APPID
WECHAT_APPID=
##第三方平台 SECRET
WECHAT_SECRET=
##消息校验 Token
WECHAT_TOKEN=
##消息加解密 Key
WECHAT_AES_KEY=
##开启微信接口 debug 模式
WECHAT_DEBUG=true
#微信支付通知回调地址
WECHAT_PAYMENT_NOTIFY=https://域名/wechatAuth/wxpay/notify
#支付宝配置
ALIPAY_PAYMENT_NOTIFY=
ALIPAY_PAYMENT_RETURN=
ALIPAY_PAYMENT_RETURN_PC=
ALIPAY_PAYMENT_RETURN_H5=
ALIPAY_MODE=normal
#SWOOLE配置
SERVER_HOST=0.0.0.0
SERVER_PORT=9058
#好像没用
SERVER_OPTIONS_USER=www-data
SERVER_OPTIONS_GROUP=www-data
SERVER_OPTIONS_DAEMONIZE=false
SERVER_OPTIONS_WORKER_NUM=4
#dingoapi 标准配置,根据实际场景进行配置，token 需要修改
API_PREFIX=api
API_NAME="EspierAPI"

<a id="page-20"></a>## Page 20
API_STANDARDS_TREE=vnd
API_STRICT=false
API_DEBUG=false
API_VERSION=v1
API_SUBTYPE=espier
API_CONDITIONAL_REQUEST=false
API_TOKEN=Os6Bass1oT5vig2Yod0yiT8dU0as5cIn
#RABBITMQ 配置
RABBITMQ_HOST=
RABBITMQ_PORT=5672
RABBITMQ_VHOST=/
RABBITMQ_LOGIN=guest
RABBITMQ_PASSWORD=
RABBITMQ_QUEUE=default
RABBITMQ_EXCHANGE_DECLARE=true
RABBITMQ_QUEUE_DECLARE_BIND=true
RABBITMQ_QUEUE_PASSIVE=false
RABBITMQ_QUEUE_DURABLE=true
RABBITMQ_QUEUE_EXCLUSIVE=false
RABBITMQ_QUEUE_AUTODELETE=false
RABBITMQ_EXCHANGE_NAME=sweetheart
RABBITMQ_EXCHANGE_TYPE=direct
RABBITMQ_EXCHANGE_PASSIVE=false
RABBITMQ_EXCHANGE_DURABLE=true
RABBITMQ_EXCHANGE_AUTODELETE=false
RABBITMQ_ERROR_SLEEP=false
#默认小程序模板名称
DEFAULT_WEISHOP_TEMP=yykweishop
#微商城小程序配置
##微信模板 id
YYKWEISHOP_TEMPLATE_ID=1
##微信模板 id(小程序支持直播，一般可不填)
YYKWEISHOP_TEMPLATE_ID_2=1

<a id="page-21"></a>## Page 21
##小程序自定义版本
YYKWEISHOP_VERSION=v1.0.0
##request 合法域名，逗号分割
YYKWEISHOP_REQUESTDOMAIN=https://b.test.cn
##socket 合法域名，逗号分割
YYKWEISHOP_WSREQUESTDOMAIN=wss://b-websocket.test.cn
##uploadFile 合法域名，逗号分割,七牛，根据自己实际情况填
YYKWEISHOP_UPLOADDOMAIN=https://up.qiniup.com,https://up-as0.qiniup.com,https://up-
na0.qiniup.com,https://up-z1.qiniup.com,https://up-z2.qiniup.com
##uploadFile 合法域名，逗号分割,阿里 OSS,根据自己实际情况填
#YYKWEISHOP_UPLOADDOMAIN=https://oss-cn-hangzhou.aliyuncs.com
##downloadFile 合法域名，逗号分割，七牛，根据自己实际情况填
YYKWEISHOP_DOWNLOADDOMAIN=https://mmbiz.qpic.cn,https://wx.qlogo.cn,https://up.qiniup.com,https://u
p-as0.qiniup.com,https://up-na0.qiniup.com,https://up-z1.qiniup.com,https://up-z2.qiniup.com
##downloadFile 合法域名，逗号分割，阿里 OSS,根据自己实际情况填
#YYKWEISHOP_DOWNLOADDOMAIN=https://mmbiz.qpic.cn,https://wx.qlogo.cn,https://oss-cn-
hangzhou.aliyuncs.com
##业务域名，逗号分割
YYKWEISHOP_WEBVIEWDOMAIN=
#核销小程序配置，没有这个业务不需要填
YYKZS_APPID=
YYKZS_APP_SECRET=
#websocket 配置
WEBSOCKET_SERVER_PORT=9051
WEBSOCKET_SERVER_HOST=域名
TIPS_WS_URI=https://域名/ws:9051
TIPS_WS_KEY=
#sentry 配置，报错收集
SENTRY_LARAVEL_DSN=
#分销配置
BROKERAGE_URI=
BROKERAGE_URI_ITEM=

<a id="page-22"></a>## Page 22
#OMS 配置
OMS_TOKEN=
OMS_API_URL=
ERP_GY_TOKEN=
#默认地址模板
ADDRESS_TEMPLATE_ID=
#日志删除时间
DEL_OPERATOR_LOGS_DATE=
#是否 saas
SYSTEM_IS_SAAS=false
#主 company_id，单账户，不是 saas 的配置
SYSTEM_COMPANYS_ID=1
#设置系统主要的企业 id，用于 pc 和 h5
SYSTEM_MAIN_COMPANYS_ID=1
#是否使用系统菜单,false 则是固定菜单，true 则更新 storage/static/目录下的菜单
USE_SYSTEM_MENU=true
#系统版本，starndard|platform
PRODUCT_MODEL=standard
#对接 saasERP 的配置信息
STORE_KEY=59887c5ceec36fa1a9d9a72c6cdf3741
CERTI_BASE_URL=https://您的域名/
#矩阵关系绑定 API
MATRIX_REALTION_URL=https://iframe.shopex.cn/?
#矩阵 API
MATRIX_API_URL=http://matrix.ecos.shopex.cn/sync
VERIFY_APP_ID=ecos.ecshopx
#腾讯地图接口 KEY,建议根据项目进行申请
QQMAP_KEY=PSPBZ-KQ5CW-CSGRF-ON2S4-K2HQJ-XEBQG
#腾讯地图配置
TENCENT_LBS_KEY=

<a id="page-23"></a>## Page 23
TENCENT_LBS_SECERT_KEY=
#是否需要服务号，false 则需要自己绑定到开放平台
WX_OPEN_THIRD=true
#是否需要第三方平台
WXA_NEED_OPEN_PLATFORM=true
#内部 rpc，不用管
RPCCALL_DRIVER=dingo
#prism 配置，默认不用动
PRISM_URL=https://openapi.shopex.cn/api
PRISM_KEY=a4dyatls
PRISM_SECRET=xescyjbdmzox75cfybab
#license 配置，不用管
LICENSE_PRODUCTION_URL=https://service.ec-os.net/api/yyk/register
LICENSE_PRODUCT=yyk
#文档生成配置
SWAGGER_STORAGE_DIR=apidocs
SWAGGER_DOCS_ROUTER=api-doc
SWAGGER_API_HOST=
SWAGGER_API_BASE_PATH=/index.php/api
#发票链接
FAPIAO_HANGXIN_API_URL=
#pc 端扫码登录
PC_WXCODE_LOGIN=
#H5 地址
H5_BASE_URL=
#H5 域名后缀
H5_DOMAIN_SUFFIX=
#PC 域名后缀

<a id="page-24"></a>## Page 24
PC_DOMAIN_SUFFIX=
#汇付配置信息，HFPAY_IS_OPEN(值为 true、false)true 启用汇付支付渠道其他支付渠道则隐藏;
HFPAY_NOTIFY_URL异步推送地址,事例:https://ecshopx.shopex123.com/api/third/hfpay/notify
HFPAY_IS_OPEN=
HFPAY_NOTIFY_URL=
#营销中心-相关配置参数
MARKETING_CENTER_BASEURI=https://域名
MARKETING_CENTER_TOKEN=
MARKETING_CENTER_APPKEY=
#达达同城配送
DADA_APP_KEY=
DADA_APP_SECRET=
DADA_IS_ONLINE=true
API_BASE_URL=https://域名/api/
AMAP_LBS_KEY=
#外部请求默认 uri
EXTERNAL_BASEURI=
#随机盐
RAND_SALT=
#店务自建应用
DIS_WORKWECHAT_H5_BASEURI=http://域名/pages/index
DIS_WORKWECHAT_H5_AUTHURI=http://域名/pages/auth/index
安装
安装 composer 扩展包

<a id="page-25"></a>## Page 25
cd/var/www/espier-blaoted
composerinstall
数据库迁移
cd/var/www/espier-blaoted
./artisandoctrine:migrations:migrate
部署商家端(vue)
商家端代码
代码 build 好后 build 目录里的文件直接 copy 至此目录
1. 创建项目目录
mkdir-p/var/www/espier-retail-manage
2. 放置代码通常会通过 git 的方式进行部署及更新
根据业务选择版本。standard:标准版，有“店铺”菜单。platform：平台版，有“商家”菜
单修改 app/config/test.env.js
module.exports={
IS_SAAS:'"true"',
PRODUCT_MODEL:'"standard"',//standard:标准版;platform:平台版
NODE_ENV:'"testing"',
BASE_API:'"https://b.yuanyuanke.cn/api"',//请求的 api 基础地质
//WXIMG_URL:'"https://b.yuanyuanke.cn/image/"',
WXIMG_URL:'""',
WXAUTHCALL_Url:'"https://b.yuanyuanke.cn/"'//微信授权回调域名，最后的斜杠别忘记了
}
3. 安装 npm 包

<a id="page-26"></a>## Page 26
cd/var/www/espier-retail-manage/app
npminstall
4. 代码编译目录/var/www/espier-retail-manage/app/config/index.js 编译后的文件在
/var/www/espier-retail-manage/app/test 下
assetsRoot:path.resolve(__dirname,'../test'),
5. 代码编译
npmrunbuild-test
6. 更改权限
chown-Rwww:www/var/www/espier-retail-manage
配置 nginx
修改/etc/nginx/nginx.conf,将权限 nginx改为 www
usewww;
创建项目 nginx 配置
以下是通过反向代理的形式配置的服务，您也可以自己按照自己需要配置，只要 vue 能访问
到 php 就 ok 了
vim/etc/nginx/conf.d/espier.conf
需要配置 ssl 证书,在下边配置的所有配置 ssl 处。

<a id="page-27"></a>## Page 27
server
{
listen443;
#配置 ssl
server_nameb.yuanyuanke.cn;
location/api/{
access_log/var/log/nginx/espier-bloated.log;
proxy_passhttp://localhost:8080;
}
location/wechatAuth/{
access_log/var/log/nginx/espier-wechatauth.log;
proxy_passhttp://localhost:8080;
}
location/{
proxy_passhttp://localhost:8081;
}
}
#配置 API 服务(espier-bloated)
server{
listen8080;
listen[::]:8080;
server_namelocalhost;
root/var/www/espier-bloated/public;
indexindex.phpindex.htmlindex.htm;
location/{
try_files$uri$uri//index.php$is_args$args;
}

<a id="page-28"></a>## Page 28
location~\.php${
add_headerAccess-Control-Allow-Origin'*'always;
add_headerAccess-Control-Allow-Headers"Content-Type,Access-Control-Allow-Headers,Authorization,
X-Requested-With";
add_headerAccess-Control-Expose-Headers"Authorization";
add_headerAccess-Control-Allow-Methods"DELETE,GET,HEAD,POST,PUT,OPTIONS,TRACE,
PATCH";
if($request_method=OPTIONS){
return200;
}
fastcgi_passlocalhost:9000;
fastcgi_read_timeout150;
fastcgi_indexindex.php;
fastcgi_buffers1616k;
fastcgi_buffer_size32k;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
location~/\.ht{
denyall;
}
}
#配置商家端(espier-retail-manage)
#pc 端配置，h5 配置可以参考这个进行修改
server{
listen8081;
listen[::]:8081;
server_namelocalhost;
location/{
root /var/www/espier-retail-manage/app/test;

<a id="page-29"></a>## Page 29
index index.htmlindex.htm;
try_files$uri$uri//index.html=404;
}
location/wximage/{
set$hostx"";
set$addrs"";
if($uri~"^/wximage/http./+([^/]+)/(.+)$"){
set$hostx$1;
set$addrs$2;
}
resolver8.8.8.8;
proxy_passhttp://$hostx/$addrs;
proxy_set_headerreferer"http://read.html5.qq.com/image";
}
}
配置 websocket 服务
server
{
listen443;
#配置 ssl
server_nameb-websocket.yuanyuanke.cn;
location/{
proxy_passhttp://localhost:9051/;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerHost$host;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
proxy_http_version1.1;
proxy_set_headerUpgrade$http_upgrade;
proxy_set_headerConnection"upgrade";

<a id="page-30"></a>## Page 30
}
}
配置定时任务
crontab-e
* * * * *sudo-E-uwwwphp/var/www/espier-bloated/artisanschedule:run>>/var/log/espier-
cront.log2>&1
配置队列服务
修改队列配置
vim/etc/supervisord.d/super-queue.ini
[program:bloated-queue-default]
command=/var/www/espier-bloated/artisanqueue:work--queue=default--delay=3--memory=128--
timeout=30--sleep=1--tries=3
stdout_logfile=/var/www/espier-bloated/storage/logs/supervisor-bloated-queue-default.log
redirect_stderr=true
process_name=%(program_name)s_%(process_num)02d
autostart=true
autorestart=true
numprocs=1
user=www
startsecs=3
startretries=100000
[program:bloated-queue-slow]
command=/var/www/espier-bloated/artisanqueue:work--queue=slow--delay=3--memory=128--
timeout=1800--sleep=1--tries=3

<a id="page-31"></a>## Page 31
stdout_logfile=/var/www/espier-bloated/storage/logs/supervisor-bloated-queue-slow.log
redirect_stderr=true
process_name=%(program_name)s_%(process_num)02d
redirect_stderr=true
autostart=true
autorestart=true
numprocs=1
user=www
startsecs=3
startretries=100000
[program:bloated-queue-sms]
command=/var/www/espier-bloated/artisanqueue:work--queue=sms--delay=3--memory=128--
timeout=1800--sleep=1--tries=3
stdout_logfile=/var/www/espier-bloated/storage/logs/supervisor-bloated-queue-sms.log
redirect_stderr=true
process_name=%(program_name)s_%(process_num)02d
redirect_stderr=true
autostart=true
autorestart=true
numprocs=1
user=www
startsecs=3
startretries=100000
配置 websocket 服务
配置 websocket
vim/etc/supervisord.d/super-websocket.ini
[program:websocket]
command=/var/www/espier-bloated/artisanwebsocket:start
stdout_logfile=/var/www/espier-bloated/storage/logs/supervisor-websocket.log

<a id="page-32"></a>## Page 32
redirect_stderr=true
autostart=true
autorestart=true
numprocs=1
user=www
startsecs=3
startretries=100000
小程序编译打包
 .env 文件配置信息
{
"APP_BASE_URL":"接口访问地址",
"APP_WEBSOCKET":"websocket 访问地址",
"APP_COMPANY_ID":"企业 id",
"APP_PLATFORM":"打包平台，standard 为标准版,platform 为平台版",
"APP_CUSTOM_SERVER":"域名地址，H5 支付回调使用",
"APP_HOME_PAGE":"首页访问路径",
"APP_MAP_KEY":"H5腾讯地图使用 key",
"APP_MAP_NAME":"H5使用地图 name"
}
 ext.json 文件配置
{
"extEnable":true,
"extAppid":"第三方平台绑定的开发小程序 id，一般建议与小程序 appid 相同",
"ext":{
"company_id":"企业 id",
"appid":"小程序 id",
"wxa_name":"通用小程序"
}

<a id="page-33"></a>## Page 33
}
 npm 打包指令
#如遇初始化下载时间过长或者 networktimeout，可更换 npm 镜像源
#npm 更换淘宝镜像，使用此命令后，npm 指令关键词改为（cnpm），例如：npmi改为cnpmi
#更换命令：npminstall-gcnpm--registry=https://registry.npm.taobao.org
#npm 初始化安装
npmi
#小程序本地开发编译
npmrundev:weapp
#小程序生产打包
npmrunbuild:weapp
#----------目前小程序包与 H5 分离，小程序包暂不支持打包 H5，请注意区分----------------
-
#H5 本地开发编译
npmrundev:h5
#H5 生产打包
npmrunbuild:h5
 注意事项
 关于小程序预览，dev:weapp 本地开发编译模式下因为主包过大无法上传预览，需要使用
build:weapp 打包后选择小程序开发工具中的详情->本地设置->上传代码时自动压缩混淆
 如果不需要直播插件请在 app.js 找到 live-player-plugin代码块将其注释掉
 目前小程序包与 H5 分离，小程序包暂不支持打包 H5，请注意区分

<a id="page-34"></a>## Page 34
H5 编译打包
只支持 H5 打包
 .env 文件配置
//小程序 id
APP_ID="小程序 id"
//首页路径
APP_HOME_PAGE="首页路径"
//企业 ID
APP_COMPANY_ID="企业 ID"
//api 访问地址
APP_API_BASE_URL="api 访问地址"
//域名地址
APP_HOME_URL="h5 访问域名地址"
//websocket 访问地址
APP_WEBSOCKET_URL="websocket 访问地址"
//cdn 地址
APP_PUBLIC_PATH="cdn 地址"
//cdn 地址
CDN_QINIU_BUCKET="七牛 cdn 地址 BUCKET"
CDN_QINIU_PATH=h5/
//平台判断（standard标准版platform 平台版）
APP_PLATFORM="版本参数"
//地图 key
APP_MAP_KEY="腾讯地图 key"
//地图 name
APP_MAP_NAME="腾讯地图名称"
 cdn 配置
package.json 文件配置
"cdn":{
"publicPath":"*host*",

<a id="page-35"></a>## Page 35
"bucket":"***",
"path":"h5/"
}
 打包发布
#如遇初始化下载时间过长或者 networktimeout，可更换 npm 镜像源
#npm 更换淘宝镜像，使用此命令后，npm 指令关键词改为（cnpm），例如：npmi改为cnpmi
#更换命令：npminstall-gcnpm--registry=https://registry.npm.taobao.org
#npm 初始化安装
npmi
#H5 本地开发编译
npmrundev:h5
#H5 生产打包
npmrunbuild:h5
#----------目前小程序包与 H5 分离，H5 包暂不支持打包小程序包，请注意区分--------------
---
#小程序本地开发编译
npmrundev:weapp
#小程序生产打包
npmrunbuild:weapp
 美洽客服配置
如果配置了美洽客服将客户的美洽配置文件放置在打包生成的/dist/h5 中与 index.html 同级
美洽客服配置文件需要客户登录自己的美洽客服平台访问 https://app.meiqia.com/chatlink生成
文件下载下来
 关于@shopex/sp-mui-app 无法安装处理

<a id="page-36"></a>## Page 36
#配置 npm 镜像源
npmconfigsetregistryhttp://registry.npm.ishopex.cn
服务启动
启动队列任务,websocket 服务
systemctlstartsupervisord.service
启动 nginx
systemctlstartnginx.service
启动 php-fpm
systemctlstartphp72-php-fpm.service