使用Docker鏡像部署Coupons淘寶客項(xiàng)目
本文轉(zhuǎn)載自微信公眾號(hào)「J貝塔學(xué)JAVA」,作者貝塔學(xué)JAVA。轉(zhuǎn)載本文請(qǐng)聯(lián)系貝塔學(xué)JAVA公眾號(hào)。
本篇文章主要是記錄Coupons項(xiàng)目使用Docker的安裝過(guò)程
Coupons是一個(gè)從前端到后端完全開源的淘寶客項(xiàng)目,目前項(xiàng)目已經(jīng)支持打包成App、微信小程序、QQ小程序、Web站點(diǎn);理論上其他小程序支持,可能需要微調(diào)
Github地址:項(xiàng)目地址:https://github.com/silently9527/coupons
在線體驗(yàn)地址
App下載地址 QQ小程序 微信小程序 Web站點(diǎn)
App下載地址(用手機(jī)訪問(wèn)才能正確下載IOS和安卓版本): http://static.szjx.top/download/index.html
Web站點(diǎn)(用手機(jī)訪問(wèn),PC端未適配):http://m.szjx.top
效果預(yù)覽
一、開始啟動(dòng)服務(wù)器
在 Docker Hub 上發(fā)布的鏡像為 silently9527/coupons-server
創(chuàng)建工作目錄
- mkdir -p ~/.coupons/conf && cd ~/.coupons/conf
下載示例配置文件到工作目錄
- wget https://raw.githubusercontent.com/silently9527/coupons/master/doc/application.properties
編輯配置文件,配置數(shù)據(jù)庫(kù)或者端口等
- vim application.properties
如何注冊(cè)第三方賬號(hào)以及初始化數(shù)據(jù)庫(kù)請(qǐng)參考 https://silently9527.cn/?p=67
創(chuàng)建容器并運(yùn)行
- docker run -it -d --name coupons-server -p 9090:9090 -v ~/.coupons:/root/.coupons --restart=unless-stopped silently9527/coupons-server:v1.0.0
參數(shù)說(shuō)明:
- -it:開啟輸入功能并連接偽終端
- -d:后臺(tái)運(yùn)行容器
- –name:為容器指定一個(gè)名稱
- -p:端口映射,格式為 主機(jī)(宿主)端口:容器端口 ,可在 application.yaml 配置。
- -v:工作目錄映射。形式為:-v 宿主機(jī)路徑:/root/.coupons,后者不能修改。
- –restart:建議設(shè)置為 unless-stopped,在 Docker 啟動(dòng)的時(shí)候自動(dòng)啟動(dòng) coupons-server 容器。
使用如下命令查看日志是否啟動(dòng)成功
- docker ps
- docker log -f xxx
當(dāng)看在日志中如下內(nèi)容表示啟動(dòng)成功
二、 Nginx安裝
Nginx的詳細(xì)安裝教程參考 https://silently9527.cn/?p=66
Nginx配置
進(jìn)入到目錄/etc/nginx/conf.d,創(chuàng)建配置文件coupon.conf
- cd /etc/nginx/conf.d
- touch coupon.conf
編輯配置文件coupon.conf,輸入如下內(nèi)容:
- 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
- systemctl restart nginx
三、前端項(xiàng)目打包
前端項(xiàng)目的源碼目錄coupons-master/client導(dǎo)入前端代碼到HBuilder中,如何使用HBuilder導(dǎo)入項(xiàng)目、打包可以參考官方文檔 https://uniapp.dcloud.io/quickstart-hx
修改發(fā)送短信的模版id(只有需要打包app才需要),文件的路徑pages/public/login.vue中92行配置短信模板的id,這里的模版id需要在短信平臺(tái)mob上面申請(qǐng)
在uniapp的插件中心購(gòu)買集成mob的插件;MobTech短信原生插件 https://ext.dcloud.net.cn/plugin?id=2189
之后在HBuilder中配置appkey
配置后臺(tái)api的請(qǐng)求地址,編輯client/config.js輸入自己服務(wù)器的域名地址
- module.exports = {
- // APIHOST: "http://localhost:9090"
- }