本文将以图文的形式说一下Mini-Mall
项目是如何在Windows环境下部署的,主要包括IDEA、MySQL、Nginx、Redis、MongoDB、RabbitMQ、ELK(非必须)、Seata、Zipkin(非必须)等。
1. IDEA
因为我们在项目中使用了Lombok
工具,所以在IDEA中需要安装Lombok
的插件。打开File->Settings->Plugins
搜索Lombok然后安装即可。
2. MySQL
(1)下载并安装mysql5.6版本,下载地址:https://dev.mysql.com/downloads/installer/
(2)设置数据库账号密码为:root/Anbang713。
(3)分别创建mall_account
、mall_basis
、mall_invest
、mall_product
、mall_sales
、mall_zipkin
、seata
数据库。
(4)然后执行在源码工程中的mall-doc
的各个数据库sql脚本。
3. Nginx
(1)下载并解压到指定目录,下载地址:http://nginx.org/en/download.html
(2)配置nginx.conf
server {
listen 80;
server_name api.mall.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host; # 转发时,携带自身的host,而不是转发后的host:127.0.0.1
location / {
proxy_pass http://127.0.0.1:9015; #将请求转发到网关
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
server {
listen 80;
server_name manage.mall.com;
#配置跨域
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
location / {
root F:/workspace/mini-mall-web; #这里换成自己的mini-mall-web文件夹路径
autoindex on;
}
}
4. Redis
(1)下载并解压到指定目录,下载地址:https://github.com/MicrosoftArchive/redis/releases
(2)在解压后的根目录打开终端,执行redis的启动命令:redis-server --service-install redis.windows-service.conf
(详情可看这篇博客:https://blog.youkuaiyun.com/Anbang713/article/details/82724912)
5. MongoDB
(1)下载Mongodb安装包,下载地址:https://www.mongodb.com/download-center/community
(2)找到刚刚下载的msi程序,双击运行,基本上可以一路next。
(3)安装成功之后,在安装目录的data目录下创建db目录,在log目录下创建mongo.log文件。可通过如下命令配置成windows服务。(详情可看这篇博客:https://blog.youkuaiyun.com/Anbang713/article/details/82708732)
# 数据库路径
.\mongod –dbpath E:\Java\mongodb\data\db
# 日志路径
.\mongod –logpath E:\Java\mongodb\log\mongo.log
# 日志为追加模式
.\mongod –logappend
# 服务名为MongoDB
.\mongod –serviceName MongoDB
.\mongod –auth
.\mongod –install
6. RabbitMQ
(1)先安装Erlang,下载地址:https://www.erlang.org/downloads,注意安装过程中最好以管理员身份去安装,并且强烈建议使用默认的安装路径。
(2)安装RabbitMQ,下载地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/
(3)安装完成后,可通过命令rabbitmq-plugins enable rabbitmq_management
启用界面端管理插件,默认账号:guest/guest。(详情可看这篇博客:https://blog.youkuaiyun.com/Anbang713/article/details/81711775)
7. Seata
(1)下载并解压到指定目录,下载地址:https://github.com/seata/seata/releases
(2)进入bin目录,双击seata-server.bat
即可启动。(详情可看这篇博客:《MiniMall:今天说一下Seata分布式事务解决方案》)
8. Zipkin
(1)官网地址:https://zipkin.io/,没看到这里面有提供编译好的jar下载地址。不过我们可以到Maven中央仓库下载:https://mvnrepository.com/artifact/io.zipkin.java/zipkin-server
(2)下载成功之后,在当前目录的终端执行下面命令即可启动Zipkin服务(依赖RabbitMQ、MySQL):
java -jar zipkin-server-2.16.2-exec.jar --zipkin.collector.rabbitmq.addresses=localhost --STORAGE_TYPE=mysql --MYSQL_DB=mall_zipkin --MYSQL_HOST=localhost --MYSQL_TCP_PORT=3306 --MYSQL_USER=root --MYSQL_PASS=Anbang713
9. ELK
实际上ELK是三款软件的简称,分别是Elasticsearch、Logstash、Kibana组成。本质上是用于日志收集、日志存储搜索、界面可视化分析。但在发展的过程中,又有新成员Beats的加入,其中Filebeat作为Beats的组成之一,其和Logstash一样用于日志收集,但因为出色的性能,目前已基本可以取代Logstash,所以这里日志收集的话,我们用Filebeat。
Elastic Stack官网:https://www.elastic.co/cn/elasticsearch,需要注意的是,Elastic Stack技术栈的软件版本需要一致,否则会出现不可预知的问题。
9.1 Filebeat
- 下载并解压安装包,下载地址:https://www.elastic.co/cn/downloads/beats/filebeat
- 在安装目录新建projects文件夹,并在projects文件夹下新建mini-mall.yml,然后配置如下内容(注意,不同版本的配置格式不一致,这里使用的是
filebeat-6.2.1
):
filebeat.prospectors:
- type: log
enabled: true
paths:
- F:\temp\logs\*
setup.template.settings:
index.number_of_shards: 1
output.elasticsearch:
hosts: ["localhost:9200"]
- 先启动ElasticSearch,然后通过命令启动Filebeat:
filebeat -e -c ./projects/mini-mall.yml
9.2 ElasticSearch
- 下载并解压安装包,下载地址:https://www.elastic.co/cn/downloads/elasticsearch
- 进入安装目录的bin目录,双击
elasticsearch.bat
即可。
9.3 Kibana
- 下载并解压安装包,下载地址:https://www.elastic.co/cn/downloads/kibana
- 进入安装目录的bin目录,双击
kibana.bat
即可。
至此,所需环境组件已全部搭建成功。然后依次启动每个微服务的启动类即可。需要注意的是,服务注册中心(mall-registry-server
)和分布式配置中心(mall-config-server
)需要先启动。