多说一句,阅读提醒!
有点标题党了,但不夸张。实现“1天搭建”的前提是有Linux服务器命令行操作基础能力、git指令,懂Docker,有基础的微信小程序开发hello world水平;“免费”的定义是不为这个小程序商店额外付几百几千甚至上万的年费、软件服务费,开店所需要的服务器、域名、微信小程序认证费、微信支付的开通等等费用还是要的,如果这段话大部分内容你看不懂,那么大概率你没办法“1天”和“免费”搭建出来一个卖茶的小程序,该花的钱还是得花,找专业的小程序服务商吧。
- 前言
众所周知(笑),作为程序猿,最近卖茶了,除了淘宝店顺利开张了,其它都多多少少有各种门槛(说人话就是要钱),包括但不限于企业营业执照,食品经营许可证以及各种保证金、服务费……
一怒(笑)之下,打算翻出老本行还是自己搞吧,综合考虑了下,选择在微信小程序上开店(虽然微信官方也有企业公众号开店、视频号开店和已经停滞的微信小商店等好几种模式,但腾讯搞电商总差点意思……综合考虑了下,还是小程序最具备推广前景,也能兼顾后面自己搞独立APP)。
- 微信小程序商店组成部分
先简单说一下,一个微信小程序商店的基本组成有3部分:小程序端(相当于app客户端),服务端(小程序要用的后台数据接口、数据库和文件存储),管理端(可以和服务端部署在一起,是管理服务器数据的),我们依次安装服务端、管理端,最后调试小程序端。
为了方便大家,特别是不会写代码搞Linux服务器的小伙伴(前面会写详细的镜像制作过程,看不懂的可以跳过,只需稍等文章写完,等最后镜像做好了直接用就行),我选用开源方案海风小店(不用自己写代码),采用docker容器的方式部署,等全部完成以后会把整个商店打包成Docker镜像,有需要的小伙伴到时下载镜像,可以一键部署了。
- 服务端部署
首先,你得有一台Linux服务器,我选用了Ubuntu 22.04(以前习惯用CentOS,但现在yum里缺的东西太多,不方便了),在阿里云上部署(帮阿里打广告了,现在有99一年的优惠服务器,性能够用了,ICP备案也快速点)。然后你得SSH连接到服务器,准备开始安装部署工作。
先安装docker,以及mysql等基础镜像环境。
1 | apt update |
- 数据库准备
我们将数据库文件放到单独的目录下,防止放到容器里不方便备份,例如mkdir /opt/mysql。现在,初始化一个mysql数据库的docker实例,并创建一个数据库表meiwutea供服务端软件使用:
1 | docker run --name mysql -p 3306:3306 -ti --privileged=true -v /opt/mysql:/var/lib/mysql -e MYSQL_DATABASE=meiwutea -e MYSQL_USER=meiwutea -e MYSQL_PASSWORD=meiwutea.com -e MYSQL_ROOT_PASSWORD=meiwutea.com -d mysql:5.7//注意把管理员密码meiwutea.com等参数改成你自己的,然后阿里云主机上打开3306 tcp端口以供外网访问。 |
下载mysql数据库客户端MySQL Workbench( https://dev.mysql.com/downloads/workbench/ ),方便管理数据库:
**也可以直接在服务器后台,通过:
1 | docker exec -ti mysql mysql -uroot -p |
登录到mysql实例管理后台,通过命令行方式管理数据库。
成功连接后,表示数据库已经工作正常,可以下载代码进行实际部署了。
- 代码准备
1 | git clone https://github.com/iamdarcy/hioshop-server |
取出其中sql数据库备份文件,可以服务器后台用mysql命令行导入,也可以用上文的客户端导入:
完成后,可看到数据库中已经有数据了:
修改源码中的配置文件:
hioshop-server/src/common/config/database.js
1 | const mysql = require('think-model-mysql'); |
- 服务器端容器创建(镜像的基础)
1 | docker pull ubuntu //我们再拉一个ubuntu的docker镜像,用它创建一个实例docker run --name meiwutea-server -p 8080:8306 -ti -d ubuntu //避免与主机端口冲突,将容器内8306服务器端口映射到主机8080端口docker exec -ti meiwutea-server bash //进入容器,以下加黄命令为容器内指令apt update |
CTRL+D退出容器回到主机环境中,将服务器端代码复制到容器内:
1 | docker cp hioshop-server/ meiwutea-server:/opt |
再次进入容器:
1 | docker exec -ti meiwutea-server bash |
如果一切正常,打开你的服务器址加8080端口,就可以看到一个网页,表示服务端已经安装完毕:
下一篇,将测试小程序对接该服务端数据(此时,还仅有测试数据)。