本篇文章主要是记录 Coupons 项目在 Linux 环境下的安装过程
Coupons 是一个从前端到后端完全开源的淘宝客项目,目前项目已经支持打包成 App、微信小程序、QQ 小程序、Web 站点;理论上其他小程序支持,可能需要微调
Github 地址: 项目地址:https://github.com/silently9527/coupons
效果预览
一、运行环境
Java
使用 yum 来搜索安装包 yum search openjdk
这里我们选择安装 Java8 的开发环境,执行如下命令
yum -y install java-1.8.0-openjdk.x86_64
复制代码
验证是否安装成功
输入如下内容表示安装成功
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)
复制代码
Maven
Maven 的安装过程参考 https://silently9527.cn/?p=65
MySQL
Mysql 的详细安装教程参考 https://silently9527.cn/?p=63
Redis
Redis 的详细安装教程参考 https://silently9527.cn/?p=64
Nginx
Nginx 的详细安装教程参考 https://silently9527.cn/?p=66
二、注册第三方账号
1. 注册大淘客账号
MallCoupons 后端项目中使用的商品数据都是由大淘客 API 提供 ;
首先需要注册大淘客账号https://www.dataoke.com/
进入到大淘客开放平台创建一个应用,为应用一键添加所有的 API 接口
2. 开通 MobTech 免费短信服务(非必须,需要打包 app 应用才是需要使用)
MallCoupons 在 App 中是通过手机号和验证码的方式登录,MobTech 提供了免费的短信验证码服务。
注册 MobTech 账号 https://www.mob.com/
进入到开发者平台,创建应用
3. 注册 QQ 小程序(非必须,根据个人需要)
4. 注册微信小程序(非必须,根据个人需要)
三、下载源码并解压
wget https://codeload.github.com/silently9527/coupons/zip/refs/heads/master
unzip coupons-master.zip
复制代码
四、创建数据库并初始化
输入密码登陆 MySQL 数据库
mysql --port=3309 -uroot -p
复制代码
创建数据库 mall-coupons
create database mall-coupons default character set utf8mb4 collate utf8mb4_unicode_ci;
复制代码
执行如下命令初始化数据库
use mall-coupons;
source /Users/xxx/Downloads/coupons-master/doc/scheme.sql
复制代码
source 命令后面的文件路径替换成你自己的路径;
五、后端项目打包
进入到解压项目的 coupons-master/server/src/main/resources 目录下
cd coupons-master/server/src/main/resources
复制代码
vim 编辑文件application-prod.properties
,修改文件中的必要参数
#填写前面淘客注册应用的 AppKey、AppSecret
dataoke.appKey=
dataoke.appSecret=
#填写前面注册QQ小程序的appId、appSecret
spring.social.qq.app-id=
spring.social.qq.app-secret=
#填写前面注册微信小程序的appId、appSecret
spring.social.wechat.app-id=
spring.social.wechat.app-secret=
# 配置MySQL数据库的地址
spring.datasource.url=jdbc:mysql://localhost:3306/mall-coupons?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=xxx
# 配置Redis服务器地址
spring.redis.host=
spring.redis.password=
spring.redis.port=
# mob短信服务的appkey,需要打包收集app的才需要
mob.service.appkey=
复制代码
打包 Java 项目
mvn clean package -DskipTests
复制代码
当出现了 Build Success 的时候就表示打包完成
打包完成之后当前目录会生成target
目录,cd target
进入到目录,查看是否有生成文件mall-coupons-server-0.0.1-SNAPSHOT.jar
启动运行mall-coupons-server-0.0.1-SNAPSHOT.jar
java -Djava.security.egd=file:/dev/./urandom -jar mall-coupons-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod > ./mall-coupons-server.log &
复制代码
六、Nginx 配置
进入到目录/etc/nginx/conf.d
,创建配置文件coupon.conf
cd /etc/nginx/conf.d
touch coupon.conf
复制代码
编辑配置文件coupon.conf
,输入如下内容:
upstream coupons-services {
server localhost:9090 weight=10;
}
server {
listen 80;
server_name 你的域名;
include /etc/nginx/default.d/*.conf;
location / {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass http://coupons-services/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10000m;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
复制代码
重启 nginx
七、前端项目打包
前端项目的源码目录coupons-master/client
导入前端代码到 HBuilder 中,如何使用 HBuilder 导入项目、打包可以参考官方文档 https://uniapp.dcloud.io/quickstart-hx
修改发送短信的模版 id(只有需要打包 app 才需要),文件的路径pages/public/login.vue
中 92 行配置短信模板的 id,这里的模版 id 需要在短信平台 mob 上面申请
在 uniapp 的插件中心购买集成 mob 的插件;MobTech 短信原生插件 https://ext.dcloud.net.cn/plugin?id=2189
之后在 HBuilder 中配置 appkey
配置后台 api 的请求地址,编辑client/config.js
输入自己服务器的域名地址
module.exports = {
// APIHOST: "http://localhost:9090"
}
复制代码
coupons 项目相关的文档都已更新到博客:https://silently9527.cn/
评论