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)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201226092548804.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg3OTkwOQ==,size_16,color_FFFFFF,t_70#pic_centers
三.maven环境配置
intellij中maven环境配置和vscode配置
查询文章,排除设置障碍:
https://blog.csdn.net/pan_junbiao/article/details/104264644
3.1maven下载安装
Maven 下载地址:http://maven.apache.org/download.cgi
解压zip到本地磁盘
3.2
在Windows系统中设置 Maven 环境变量
-search “edit the system environment variables” in system
必须先安装jdk,配置JAVA_HOME
新建系统变量 MAVEN_HOME,变量值:C:\Downloads\apache-maven-3.6.3
编辑系统变量 Path,添加变量值:
%MAVEN_HOME%\bin
cmd中查看maven版本信息:
mvn -version
验证maven是否已成功安装!
3.3发现端口被占用:
C:\Users\username>netstat -o -n -a | findstr :8080
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 3116
C:\Users\username>taskkill /F /PID 3116
四.
数据库搭建
https://www.bilibili.com/video/BV1np4y1C7Yf?p=15
4.1
生成多个空模块,如
gulimall-product
gulimall-order
gulimall-member
gulimall-coupon
gulimall-ware
将空模块都整合进gulimall项目中
<Modules>
<Module>gulimall-product<Module>
<Module>gulimall-order<Module>
<Module>gulimall-member<Module>
<Module>gulimall-coupon<Module>
<Module>gulimall-ware<Module>
</Modules>
项目的.gitignore文件中写入:
**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
.idea
**/.gitignore
这样github不会收录这些文件。
4.2
在sqlyog的虚拟机下新建gulimall_pms,gulimall_sms,gulimall_oms,gulimall_wms,gulimall_ums等schemas
选中gulimall_pms,复制相关代码到执行框中,run。
4.3
gitee页面中搜索人人开源 / renren-fast
下载人人开源的后端代码
将隐藏的.git文件删除
整个renren-fast文件夹复制gulimall文件夹中
引入renren-fast模块到gulimall中管理
查看application.yml文件,发现执行的是dev配置
修改application-dev.yml文件中的数据源信息
spring:
datasource:
type: com.alibaba.druid.po