gulimall项目
参考:别人写得很好的笔记在这里
还有这里
https://gitee.com/agoni_no/gulimall
第一章 项目的结构和配置
一.虚拟机
1.1下载virtual boxhttps://www.virtualbox.org/
推荐使用vagrant创建虚拟机。代替原来的。https://zhuanlan.zhihu.com/p/27793159
搜索vagrant下载页面https://www.vagrantup.com/
-Download-Windows 64-bit
1.3使用vagrant创建虚拟机
打开cmd指令框
-vagrant
-vagrant init centos/7
-vagrant up
就启动了虚拟机!
上面指令说明:
(查看vagrant镜像仓库 https://app.vagrantup.com/boxes/search
centos/7代表linux系统)
-init之后查看本机中users/45058中生成了一个vagrantfile
-whoami查看用户
-exit退出当前层级
连接虚拟机
-vagrant ssh
1.4虚拟网络设置-端口转发
cmd中输入
-ipconfig
查看virtual box host-only network:
192.168.56.1
打开vagrantfile中的private network
相应修改ip地址为: 192.168.56.10
重载vagrant
-vagrant reload
vagrant操作命令中输入
-ip addr
查看inet 192.168.56.10
测试:
主机ping虚拟机,
虚拟机ping主机
ping 192.168.56.10
cmd新建一个窗口,ping一下虚拟机的ip
ping 192.168.1.153
虚拟机ping本地ip地址,也能得到回复。
二.docker技术
linux安装docker,docker基于镜像启动container的运行环境
每个容器都是一个完整的运行环境。容器之间相互隔离,一个down不影响另一个。
docker hub中可搜索各种软件的镜像
2.1设置docker
文档https://docs.docker.com/engine/install/centos/
-remove old…
-install…
-config manager…
-cli io…
-start…
-sudo docker images查看镜像
-sudo systemctl enable docker开机自启动
国内阿里云镜像加速(此处忽略)
2.2
docker安装mysql
2.2.1安装
-sudo docker pull mysql:5.7
-sudo docker images检查镜像是否下载
-su root
配置:端口映射:
前者为外部数据,
后者为在容器中的名字,log,数据,配置conf,用户密码
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
显示一个很长的id,就说明mysql的docker container安装好了
-docker ps查看当前所有的容器
-docker ps -a查看所有的容器
2.2.2配置mysql config文件
[root@localhost vagrant]# cd /mydata/
[root@localhost mydata]# ls
mysql
[root@localhost mydata]# cd mysql/
[root@localhost mysql]# ls
conf data log
[root@localhost mysql]#cd conf/
[root@localhost conf]#ls
[root@localhost conf]#vi my.cnf
(粘贴配置文件中编码信息)
-i (insert mode)
(paste)
-esc(esc the insert mode)
:wq (save and exit)
[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
[root@localhost conf]# ls
my.cnf
[root@localhost conf]# docker restart mysql
mysql
[root@localhost conf]# docker exec -it mysql /bin/bash
root@a354f1646445:/# cd /etc/mysql/
root@a354f1646445:/etc/mysql# ls
my.cnf
root@cf5e62ba0b3f:/etc/mysql# cat 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
root@cf5e62ba0b3f:/etc/mysql#
(mysql container配置结束)
几个简单的vagrant指令
vagrant up启动虚拟机
vagrant ssh连接虚拟机
su root切至根用户
密码vagrant
docker pull [app]:[version]
docker images查看所有镜像
docker ps查看所有进程
docker stop [container_ID]停止指定container
docker rm [container_ID]移除指定container
exit;退出容器回到linux主系统
docker run --rm [image_name]移除指定image
docker exec -it mysql /bin/bash 访问容器内部(每一个容器里面都是一个linux系统, 在容器内部可以进行各种命令操作, 退出容器回到linux主系统,exit即可)
2.2.2数据库sqlyog可视化
下载sqlyog软件https://webyog.com/product/sqlyog
配置如下,即可连接docker容器中的mysql,进行可视化操作:

输入虚拟机的ip地址
-test connection
-connect
2.2.3移除
移除container
remove一个container,先stop,再remove:
[root@localhost vagrant]#
docker stop c545ee27e346
[root@localhost vagrant]#
docker rm c545ee27e346
在删除完容器后,还要手动将本地的关于容器的配置目录给删掉:
[root@localhost vagrant]#
rm -rf /mydata/mysql
移除image:
[root@localhost vagrant]#
docker image rm f07dfa83b528 -f
2.3redis
2.3.1
docker安装redis
[root@localhost vagrant]# docker pull redis
[root@localhost vagrant]# mkdir -p /mydata/redis/conf
[root@localhost vagrant]# cd /mydata/
[root@localhost mydata]# ls
mysql redis
[root@localhost mydata]# cd redis/
[root@localhost redis]# ls
conf
[root@localhost redis]# cd conf/
[root@localhost conf]# touch redis.conf
[root@localhost conf]#
docker run -p 6379:6379 --name redis
-v ~/redis/data:/data
-v ~/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis redis-server /etc/redis/redis.conf
68f4a1c73800d518d3cc6571e016147ff197218a43d35c132e531611803111b9
[root@localhost conf]# docker ps
[root@localhost conf]#
docker exec -it redis redis-cli
上行指令执行了redis客户端
127.0.0.1:6379> set a b
OK
127.0.0.1:6379> get a
““b””"
(redis 设置完成)
实现持久化:先输入pwd,再编辑redis.conf 加入:appendonly yes
127.0.0.1:6379>
exit
[root@localhost conf]#
pwd
/mydata/redis/conf
[root@localhost conf]#
ls
redis.conf
[root@localhost conf]#
vi redis.conf
(insert: appendonly yes)
[root@localhost conf]#
docker restart redis
[root@localhost conf]#
docker exec -it redis redis-cli
127.0.0.1:6379> set elsa huang
OK
127.0.0.1:6379> get elsa
“huang”
127.0.0.1:6379> exit
[root@localhost conf]# docker restart redis
redis
[root@localhost conf]# docker ps
[root@localhost conf]# docker exec -it redis redis-cli
127.0.0.1:6379> get elsa
“huang”
(持久化成功)
2.3.2redis可视化
redisDataManager(RDM)

本文档详细记录了gulimall项目使用Spring Boot和Spring Cloud的配置过程,包括虚拟机的创建、Docker安装与MySQL容器化、Redis的配置以及数据持久化,还涉及到了Maven环境配置、数据库搭建、代码生成器的使用和SpringCloud Alibaba组件的实践。此外,还提到了前端、商品API相关任务以及进程管理和端口占用问题的解决方案。
最低0.47元/天 解锁文章
3564

被折叠的 条评论
为什么被折叠?



