小清新微信小程序商城litemall安装简记

最近在研究小程序商城的事儿。无意间在github上看到了litemall这个项目,被它第二套主题(Renard)清新简约的风格吸引到了。因此,尝试了git源码编译运行了下,虽然功能还不太完善,但是后台管理和前端做得还是不错得。


安装环境如下:
系统:阿里云服务器 CentOS 7.5.1804
系统面板:宝塔面板(可选),以下安装环境都是基于宝塔面板
项目链接:https://github.com/linlinjava/litemall
一、宝塔环境配置

宝塔面板软件管理选择安装:MySQL 5.7.23、Nginx 1.15.5、phpMyAdmin4.8(可视化数据库管理)、PHP7.2.11(phpMyAdmin依赖)、PM2管理器 2.6.1;宝塔安全设置及阿里云控制台放行端口8080。

二、开发环境完善
1、rpm方式安装JDK1.8

下载最新的JDK8 rpm安装包jdk-8u192-linux-x64.rpm,可以在这里找到最新安装包,上传到root目录;

赋权
[cce lang="bash"]chmod 755 jdk-8u192-linux-x64.rpm[/cce] 安装
[cce lang="bash"]rpm -ivh jdk-8u192-linux-x64.rpm[/cce] 查看是否正确安装
[cce lang="bash"]java -version[/cce] 如果输出以下内容则代表安装正确
[cce lang="bash"]java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)[/cce] rpm包后续升级命令
[cce lang="bash"]rpm -Uvh 最新JDK包.rpm[/cce] 2、安装maven
[cce lang="bash"]yum install maven[/cce] 三、代码测试
源代码获取
[cce lang="bash"]cd /www/wwwroot
git clone https://github.com/linlinjava/litemall.git[/cce] 新建数据库litemall,密码:litemall123456
数据库依次导入litemall-db/sql下的数据库文件(顺序一定不能乱)
[cce lang="bash"]litemall_schema.sql
litemall_table.sql
litemall_data.sql[/cce] 启动小商场和管理后台的后台服务
[cce lang="bash"]cd litemall
mvn install
mvn package
cd ./litemall-all
mvn spring-boot:run[/cce] 打开浏览器,输入
[cce lang="bash"]http://IP:8080/wx/index/index
http://IP:8080/admin/index/index[/cce] 如果出现JSON数据,则litemall-all模块运行正常。
四、部署准备
准备一个域名,我这里用的是litemall.chinaperry.com,用A记录解析到当前云服务器IP;
PM2管理器 里面添加模块cnpm;

删除测试的litemall数据库,新建数据库litemall,记住新生成的数据库密码(或者直接更改原数据库密码);

编辑文件[cce lang="bash"]/www/wwwroot/litemall/litemall-db/sqllitemall_schema.sql[/cce]将
[cce lang="sql"]create user 'litemall'@'localhost' identified by 'litemall123456';[/cce] 中的litemall123456更改为你刚新建数据库的密码;

编辑文件
[cce lang="bash"]/www/wwwroot/litemall/litemall-db/mybatis-generator/generatorConfig.xml[/cce] 找到下图位置

将password后面的litemall123456改为你刚新建数据库的密码;
编辑文件
[cce lang="bash"]/www/wwwroot/litemall/litemall-admin/config/dep.env.js[/cce] 将BASE_API更改为:http://ip:8080/admin

编辑文件
[cce lang="bash"]/www/wwwroot/litemall/litemall-admin/config/prod.env.js[/cce] 将BASE_API更改为:https://litemall.chinaperry.com/admin(这里请改为你自己的域名)

五、项目打包
打包项目到deploy文件夹
[cce lang="bash"] cd litemall
cat ./litemall-db/sql/litemall_schema.sql > ./deploy/db/litemall.sql
cat ./litemall-db/sql/litemall_table.sql >> ./deploy/db/litemall.sql
cat ./litemall-db/sql/litemall_data.sql >> ./deploy/db/litemall.sql

cd ./litemall-admin
cnpm install
cnpm run build:prod
cp -rf dist ../deploy

cd ..
mvn clean package
cp -f ./litemall-all/target/litemall-all-*-exec.jar ./deploy/litemall/litemall.jar[/cce] 这里的工作是:
1. 把数据库文件拷贝到deploy/db目录;
2. 编译litemall-admin项目,并把编译得到的静态文件拷贝到deploy目录;
3. 编译litemall-all模块,同时把编译得到的jar文件拷贝到deploy的litemall目录。

修改litemall文件夹下面的*.yml外部配置文件
编辑文件
[cce lang="bash"]/www/wwwroot/litemall/deploy/litemall/application-core.yml[/cce]
app-id和app-secret改为自己注册的微信小程序相关信息,mch-id和mch-key改为与之关联的微信商户相关信息,notify-url改为[cce lang="html"]https://litemall.chinaperry.com/wx/order/pay-notify[/cce](这里请根据前文准备的域名自行修改)

上图address改为 [cce lang="html"]http://localhost:8080/wx/storage/fetch/[/cce] 编辑文件
[cce lang="bash"]/www/wwwroot/litemall/deploy/litemall/application-db.yml[/cce]
将password后面的litemall123456改为你刚新建数据库的密码;
此时deploy部署包结构如下:
1、bin 存放远程主机运行的脚本,包括deploy.sh脚本和reset.sh脚本;
2、db 存放litemall数据库文件;
3、litemall 存放远程主机运行的代码,包括litemall-all二进制可执行包和litemall外部配置文件;
4、util 存放开发主机运行的脚本,包括package.sh脚本和lazy.sh脚本。 由于是本地开发主机运行,因此开发者可以不用上传到远程主机;
5、dist 存放管理后台前端静态文件。
六、项目部署
确保云主机安全组及宝塔面板安全标签已经放行端口8080;
将deploy目录复制到web根目录
[cce lang="bash"]cd /www/wwwroot/litemall
cp -rf deploy ../[/cce] 宝塔面板添加站点:litemall.chinaperry.com

根目录填写
[cce lang="bash"]/www/wwwroot/deploy/dist[/cce] 由于前面已经创建了新的数据库,因此这里不创建数据库
数据库litemall导入以下文件
[cce lang="bash"]/www/wwwroot/deploy/db/litemall.sql[/cce]
修改站点配置文件,添加如下反代理设置
[cce lang="bash"] location ^~ /wx {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location ^~ /admin {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}[/cce]
SSL添加加密证书,可以直接在宝塔申请免费证书,也可以是其他地方申请的证书,开启强制HTTPS

浏览器输入以下网址[cce lang="html"]https://litemall.chinaperry.com/#/login[/cce] 一切正常的话,可以看到如下页面:

但是,输入默认的账号密码是无法登陆的,因为此时的后台程序还没有运行。
七、启动脚本部署
进入/etc/systemd/system目录
[cce lang="bash"]cd /etc/systemd/system[/cce] 新建文件litemall.service
[cce lang="bash"]touch litemall.service[/cce] 打开文件
[cce lang="bash"]vi litemall.service[/cce] 按i进入插入模式,插入以下内容
[cce lang="bash"][Unit] Description=auto run litemallservice or agent
[Service] Type=simple
ExecStart=/usr/java/jdk1.8.0_192-amd64/bin/java -jar /www/wwwroot/deploy/litemall/litemall.jar
Restart=always
KillMode=process
RestartSec=1
[Install] WantedBy=multi-user.target[/cce] ESC退出插入模式,:wq保存并退出文件。
开启后台进程
[cce lang="bash"]systemctl start litemall[/cce] 查看进程运行状况
[cce lang="bash"]systemctl status litemall[/cce] 启用进程开机自启动
[cce lang="bash"]systemctl enable litemall[/cce] 现在可以登陆后台了

八、对接小程序
打开微信开发者工具添加微信小程序项目renard-wx,将AppID改为自己的,点击确定进入开发界面

编辑文件 config/api.js,根据自己的域名更改业务服务器API地址:
[cce lang="JavaScript"] var WxApiRoot = 'https://litemall.chinaperry.com/wx/';[/cce]
点击编译,如果模拟器刷新了商品,则表明小程序前后台对接成功。
九、后记
小程序要正式上传到微信端上线,还需要在小程序官方后台添加业务域名,这里就不详述了。

7 thoughts on “小清新微信小程序商城litemall安装简记

  1. 回复
    kk - 2020年3月4日

    部署过程中第三部,代码测试的时候会报错,我的wwwroot 下面的目录是/www/wwwroot/litemall-master 再下一级是/www/wwwroot/litemall-master/litemall-admin;/www/wwwroot/litemall-master/litemall-admin-api等的那8个大的目录,不知道是不是有错误,楼主代码测试的时候是在哪个目录下执行的这些测试命令??
    cd litemall
    mvn install
    mvn package
    cd ./litemall-all
    mvn spring-boot:run

    1. 回复
      风の语 - 2020年3月10日

      我去看了下最新的源代码,作者已经更新了很多内容,目录结构有所改变,请自行参考作者的项目文档。

  2. 回复
    小小 - 2020年2月26日

    你的文章,最适合小白使用了,谢谢你!今晚安装一下,学习学习。站长,有研究小程序商城怎么样了,有能卖的不,

    1. 回复
      风の语 - 2020年2月29日

      我知道有个小程序商城代码很扎实,用swoole写的,有在开源,不过最新的代码还没有公布,你可以联系作者找他购买,名字叫fashop

  3. 回复
    w - 2019年12月23日

    安装后后台不能登录,按照要求修改,也不可以,不知博主有没有遇到此种情况

    1. 回复
      风の语 - 2019年12月25日

      数据库导入了吗?是不能链接数据库,还是链接了数据库不能登录?

    2. 回复
      风の语 - 2019年12月25日

      安装好以后默认的管理员账号密码都是:admin123

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top