安装教程是基于单服务器宝塔环境的教程,其他环境可以自行研究。
一、环境要求和环境搭建
1、官方环境要求
1)服务器系统:centos stream 9 64位
2)配置要求:双核8G内存,带宽20M,磁盘100G,或更高
3)软件环境要求:Nginx latest、mysql8.0.x、PHP7.4.33、redis5,6,7
2、环境说明
1)PHP需要支持模块(正常安装后大多都支持,可以根据情况查看验证是否支持)
bcmath、Core、ctype、curl、date、dom、fileinfo、filter、ftp、gd、gettext、hash、iconv、json、libxml、mbstring、mcrypt、mongodb、mosquitto、mysqli、mysqlnd、openssl、pcntl、pcre、PDO、pdo_mysql、pdo_sqlite、Phar、posix、readline、redis、Reflection、session、SimpleXML、sockets、sodium、SPL、sqlite3、standard、sysvsem、tokenizer、wxwork_finance_sdk、xml、xmlreader、xmlrpc、xmlwriter、xsl、Zend OPcache、zip、zlib
2)PHP不能禁用的函数(配置方法可以自行搜索)
proc_xxx,putenv,pcntl_signal,pcntl_fork,pcntl_wait,pcntl_alarm,pcntl_signal_dispatch,stream_socket_server
3)PHP需要安装的拓展
fileinfo,redis
4)MySQL数据库官方建议8,验证后5.7类似也可,但需要支持Innodb
5)确保curl(7.6x)或以上和openssl-1.1.1(因官方不再支持1.0.2版本,所以建议安装1.1.1版本,新安装不要再使用1.0.2)
6)PHP需要配ca证书
7)服务器端口开启:
80,3306,443,6379,9001(如果使用诸如阿里云、腾讯云或者华为云等,需要在安全策略里面对一些端口放行9001除外),操作方法请参考对应云服务的安全策略说明
8)Supervisord安装
进程守护安装,根据官方的说明和实验证明,不要使用宝塔直接安装,需要使用命令行在SSH终端进行安装(配置可以使用宝塔的文件管理进行操作,也可以通过命令行,根据自己的需要即可),具体的安装配置参考下方的部署步骤中的方法
9)其他
二、后端部署
1、官方的常规部署方法如下,不做过多的说明:
1)git clone https://github.com/yunzmall/shop.git 商城核心代码#
2)cd shop#
3)新建.env#
4)mkdir -p addons/yun_shop#
5)cd addons/yun_shop#
6)git clone https://github.com/yunzmall/framework_page.git 后台管理vue页面#
7)cd framework_page#
8)vim config/index.js 修改build选项
build: {
index: path.resolve(__dirname, “../../../../admin.html”),
assetsRoot: path.resolve(__dirname, “../../”),
9)安装nodejs、npm#
下载地址 https://nodejs.org/zh-cn/download/
10)运行npm install命令 安装vue依赖库#
11)运行npm run build:prod命令 编译文件#
12)apache web服务器在根目录下创建.htaccess文件 ngnix不用创建#
13)安装php依赖组件#
14)安装向导 数据库配置(这一步比较简单,填写配置运行安装即可)
15)安装完成后访问后台即可https://yourdomain/admin.html
2、源码安装(通过获得的源码和sql文件等进行部署):
1)宝塔面板新加站点和数据库之类的不做详细说明,请自行搜索对应的教程
将已获得的源码上传到站点根目录,解压,如图

3)配置站点伪静态,如图

将如下内容添加到伪静态设置,保存
4、SSL配置,使用宝塔面板的话可以申请Let’s Encrypt申请免费的证书,如果有自己的证书或者其他方式获得的证书可自行配置

5)配置数据库链接:
数据库链接文件位置为/database/config.php
内容如下,将配置参数修改为你的数据库链接参数即可(主要修改红色部分):
6)数据库导入:
在数据库管理的位置将sql文件导入到已有的数据库内即可(sql导入方法请自行搜索)
7)删除源码之前可能存在的换成,不删除可能会出现如下图片一显示的错误,删除方法如下图二的换成文件位置

图片一

图片二
8)完成后理论上您可以通过https://yourdomainname/admin.html进行后台访问
3、访问后配置商城等相关参数即可,其中上面提到的进行守护等需要单独配置才可以实现比如队列、订单监测等一些自动化的功能,这里介绍进队列的配置、进程守护的配置等:
1)访问https://yourdomain/admin/shop?route=supervisord.supervisord.index
2)服务器IP设置,如下图

3)队列设置

4)域名替换(根据需求即可,一般不需要)

5)Redis设置(正常默认即可)

6)Webscoket设置,需要开启:

7)终端管理,这里前面的如果配置完成的话后三个会是绿色显示,第一个守护进程需要配置supervisor后才会是正常:

配置方式如下:
①登录服务器SSH终端
②执行安装supervisor,安装默认安装位置即可,方便后面的配置
yum install supervisor
配置supervisor,找到配置文件,这里演示的配置文件通过宝塔的文件管理可以找到是在/etc/supervisord.conf这个位置

打开文件进行编辑,注意主要是下面标红的位置必须设置
- 增加进程守护配置
注意第③步最后一行的include,这里是配置需要守护进程的文件所在位置的配置,演示这里配置存放位置为/etc/supervisord.d/,这个目录下存放的就是各进程的配置文件ini,ini文件(www.xxxxx.cn.ini)的示例内容如下,标红的内容即需要修改的:
注意标红内容的含义:
/path/to/daemon.sh daemon.sh文件位置
/path/to/php php执行文件位置
/path/to/storage/logs/worker.log 日志位置
- 启动或者重启supervisor
启动 supervisord -c /etc/supervisord.conf
重启 supervisorctl restart 子进程 (子进程就是第斯不中ini的内容里面的www.xxxx.cn)
- 查看运行状态
查看状态 supervisorctl status
这事到后台查看守护进程是否是绿色如果不是可以稍等一段时间查看,或者检查配置以及守护进程的运行状态是否正常
- 至此后端配置完成
- H5端部署
H5配置主要是包装node版本正确的情况下,配置接口域名后,运行npm命令生成文件:
Node版本官方要求是12.14.0,实验证明当前使用的14.19.1也可以正常使用,建议使用官方要求版本
配置接口域名:找到文件vue.config.js大约115行,改成需要的域名

之后一次运行:npm install(安装依赖)、npm run dev(运行本地演示)、npm run build(打包文件),之后得到的文件放到/addons/yun_shop目录下,注意这个目录不仅有h5的文件,还有部分后台的文件,一定要备份,只替换static下的app目录和index.html即可,其他的文件不能动,之后访问即可
四、小程序部署
1、小程序使用微信开发者工具打开,修改配置
找到根目录host.js文件修改如下的标红部分
module.exports = {
host: “https://www.xxxx.cn/“,
uniacid: “4“,
adBrightid: “”,
adBrightDomain: “”,
};
查看演示,如果是一些渠道获得的小程序源码,可能会出现如下的错误提示:

这个问题的解决方式是 找到错误中提到的index.json文件修改引用对应组件的路径修改层级即可修复,../../../../ 引用层级不准确无法定位到对应的文件,所有会出现找不到的问题,注意即可(注意并不是一处,是有很多处类似的问题)
3、如果做二次开发增加了一些东西可能会出现包过大的情况,这种情况一般建议是减少不必要的文件,或者是一些静态资源可以远程已用不要放到小程序文件等。
4、注意小程序使用前需要登录小程序管理设置一些URL、备案等等,这里不做过多的说明,参考小程序官方的说明即可;但是需要主要的是,使用小程序之前要设置隐私服务内容声明,否则会出现如下的错误:

根据官方的说明需要设置如下内容:

解决的方法是设置对应的内容,设置位置在如下图,根据需要上方截图设置需要的内容即可:

5、之后设置小程序比如appid等这些基础参数(设置方式自行搜索即可)
6、编译上传即可