分布式電商專案一 安裝軟體

2021-10-06 14:16:39 字數 3266 閱讀 4324

使用配置好的虛擬機器進行docker安裝,並使用docker安裝mysql和redis。

可以參考docker的官方文件docker官網.

刪除系統已經有的docker:

yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-engine

設定docker位址和安裝依賴的包

$ sudo yum install -y yum-utils

~~$ sudo yum-config-manager \

--add-repo \

注意預設使用的是國外的源,安裝速度會非常慢!可以設定為阿里的源

yum-config-manager --add-repo
安裝docker

yum install docker-ce docker-ce-cli containerd.io
ce是社群免費版本,io是操作口。

修改docker使用的源

vim /etc/docker/daemon.json

也可以使用阿里雲的映象加速服務。

啟動docker

systemctl start docker
重啟docker 的方法

systemctl restart docker
設定docker開機自啟動

systemctl enable docker
本文使用mysql5.7版本,最新的8.0版本修改了密碼規則,遠端聯絡需要進入到映象內部修改檔案。

docker pull mysql:5.7
啟動mysql

docker run --name mysql -p 3306:3306 -e mysql_root_password=123456 -d \

-v /mydata/mysql/log:/var/log/mysql \

-v /mydata/mysql/data:/var/lib/mysql \

-v /mydata/mysql/conf:/etc/mysql \

mysql:5.7

-v是掛載mysql 的資料。

可以使用docker ps命令檢視啟動的mysql

連線mysql

使用軟體sqlyog連線mysql

連線成功說明能夠正確使用。mysql 的日誌資料和配置儲存在掛載的資料夾中。

進入容器內部

docker exec -it mysql /bin/bash
docker映象內部也是乙個linux系統,進入之後同樣的操作介面,用於修改映象內部的檔案。

由於使用了檔案掛載,所以在/mydata/mysql/conf 目錄下同樣能修改配置。

修改mysql配置

進入/mydata/mysql/conf 目錄

vim /mydata/mysql/conf/my.cnf
[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect=

'set collation_connection = utf8_unicode_ci'

init_connect=

'set names utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

skip-name-resolve

修改字符集,跳過網域名稱解析。

docker pull redis
建立掛載檔案

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

啟動redis:

docker run -p 6379:6379 --name redis \

-v /mydata/redis/data:/data \

-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \

-d redis redis-server /etc/redis/redis.conf

redis-server /etc/redis/redis.conf 以該檔案作為配置檔案啟動

連線redis

使用redis客戶端連線redis測試

docker exec -it redis redis-cli
使用軟體連線:如果是雲伺服器,先開防火牆,不然連不上

配置redis

電商課題V 分布式鎖

鄭昀彙總 併發控制 防止併發 distributed lock distributed lock manager 電商目的 保證整個 分布式 系統內對乙個重要事物 訂單,賬戶等 的有效操作執行緒 同一時間內有且只有乙個。比如交易中心有n臺伺服器,訂單中心有m臺伺服器,如何保證乙個訂單的同一筆支付處理...

03分布式電商專案 系統架構

soa 是 service oriented architecture 的首字母簡稱,它是一種支援面向服務的架構樣式。從服務 基於服務開發和服務的結果來看,面向服務是一種思考方式。其實 soa 架構更多應用於網際網路專案開發。為什麼網際網路專案會採用 soa 架構呢?隨著網際網路的發展,應用的規模不...

04分布式電商專案 Dubbox 簡介

dubbox 是乙個分布式服務框架,其前身是阿里巴巴開源專案 dubbo 被國內電商及網際網路專案中使用,後期阿里巴巴停止了該項目的維護,當當網便在 dubbo 基礎上進行優化,並繼續維護,為了與原有的 dubbo 區分,故將其命名為 dubbox。dubbox 致力於提供高效能和透明化的 rpc ...