小程序開發(fā)定制制優(yōu)化大師平臺
目錄
一、安裝MYSQL
1.1、準(zhǔn)備目錄
1.2、運行命令
1.3、修改配置
1.4、重啟
二、導(dǎo)入SQL
三、導(dǎo)入Demo工程
3.1、分頁查詢商品
3.2、新增商品
3.3、修改商品
3.4、修改庫存
3.5、刪除商品
3.6、根據(jù)id查詢商品
3.7、根據(jù)id查詢庫存
3.8、啟動
四、導(dǎo)入商品查詢頁面
4.1、運行nginx服務(wù)?
4.2、反向代理?
一、安裝MYSQL
后期做數(shù)據(jù)同步需要用到MySQL的主從功能,所以需要大家在虛擬機中,利用Docker來運行一個MySQL容器。
1.1、準(zhǔn)備目錄
為了方便后期配置MySQL,我們先準(zhǔn)備兩個目錄,用于掛載容器的數(shù)據(jù)和配置文件目錄:
# 進入/tmp目錄
cd /tmp
# 創(chuàng)建文件夾
mkdir mysql
# 進入mysql目錄
cd mysql
1.2、運行命令
進入mysql目錄后,執(zhí)行下面的Docker命令:
docker run \-p 3306:3306 \--name mysql \-v $PWD/conf:/etc/mysql/conf.d \-v $PWD/logs:/logs \-v $PWD/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123 \--privileged \-d \mysql:5.7.25
1.3、修改配置
在/tmp/mysql/conf目錄添加一個my.cnf文件,作為mysql的配置文件:
# 創(chuàng)建文件
touch /tmp/mysql/conf/my.cnf
文件的內(nèi)容如下:
[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000
1.4、重啟
配置修改后,必須重啟容器:
docker restart mysql
二、導(dǎo)入SQL
接下來,利用Navicat客戶端連接MySQL,然后導(dǎo)入課前資料提供的sql文件:
其中包含兩張表:
-
tb_item:商品表,包含商品的基本信息
-
tb_item_stock:商品庫存表,包含商品的庫存信息
之所以將庫存分離出來,是因為庫存是更新比較頻繁的信息,寫操作較多。而其他信息修改的頻率非常低。
?
三、導(dǎo)入Demo工程
下面導(dǎo)入課前資料提供的工程:
項目結(jié)構(gòu)如圖所示:
其中的業(yè)務(wù)包括:
-
分頁查詢商品
-
新增商品
-
修改商品
-
修改庫存
-
刪除商品
-
根據(jù)id查詢商品
-
根據(jù)id查詢庫存
?業(yè)務(wù)全部使用mybatis-plus來實現(xiàn),如有需要請自行修改業(yè)務(wù)邏輯。
3.1、分頁查詢商品
在com.heima.item.web
包的ItemController
中可以看到接口定義:
3.2、新增商品
在com.heima.item.web
包的ItemController
中可以看到接口定義:
3.3、修改商品
在com.heima.item.web
包的ItemController
中可以看到接口定義:
?
3.4、修改庫存
在com.heima.item.web
包的ItemController
中可以看到接口定義:
?
3.5、刪除商品
在com.heima.item.web
包的ItemController
中可以看到接口定義:
這里是采用了邏輯刪除,將商品狀態(tài)修改為3。
3.6、根據(jù)id查詢商品
在com.heima.item.web
包的ItemController
中可以看到接口定義:
這里只返回了商品信息,不包含庫存。
3.7、根據(jù)id查詢庫存
在com.heima.item.web
包的ItemController
中可以看到接口定義:
?
3.8、啟動
注意修改application.yml文件中配置的mysql地址信息:
需要修改為自己的虛擬機地址信息、還有賬號和密碼。
修改后,啟動服務(wù),訪問:http://localhost:8081/item/10001即可查詢數(shù)據(jù)。
?
四、導(dǎo)入商品查詢頁面
商品查詢是購物頁面,與商品管理的頁面是分離的。
部署方式如圖:
我們需要準(zhǔn)備一個反向代理的nginx服務(wù)器,如上圖紅框所示,將靜態(tài)的商品頁面放到nginx目錄中。
頁面需要的數(shù)據(jù)通過ajax向服務(wù)端(nginx業(yè)務(wù)集群)查詢。
4.1、運行nginx服務(wù)?
這里我已經(jīng)給大家準(zhǔn)備好了nginx反向代理服務(wù)器和靜態(tài)資源。
鏈接:nginx資源
我們找到nginx目錄:
將其拷貝到一個非中文目錄下,運行這個nginx服務(wù)。
運行命令:
start nginx.exe
然后訪問 http://localhost/item.html?id=10001即可:
?
4.2、反向代理?
現(xiàn)在,頁面是假數(shù)據(jù)展示的。我們需要向服務(wù)器發(fā)送ajax請求,查詢商品數(shù)據(jù)。
打開控制臺,可以看到頁面有發(fā)起ajax查詢數(shù)據(jù):
而這個請求地址同樣是80端口,所以被當(dāng)前的nginx反向代理了。
查看nginx的conf目錄下的nginx.conf文件:
其中的關(guān)鍵配置如下:
?
其中的192.168.150.101是我的虛擬機IP,也就是我的Nginx業(yè)務(wù)集群要部署的地方:
?
完整內(nèi)容如下:
#user nobody;
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;#tcp_nopush on;keepalive_timeout 65;upstream nginx-cluster{server 192.168.150.101:8081;}server {listen 80;server_name localhost;location /api {proxy_pass http://nginx-cluster;}location / {root html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}