Skip to content

Commit 1b5c23a

Browse files
committed
add spring cloud 4
1 parent 49a8515 commit 1b5c23a

File tree

1 file changed

+137
-0
lines changed

1 file changed

+137
-0
lines changed
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
---
2+
layout: post
3+
title: "SpringCloud(4) - 服务部署"
4+
subtitle: "Happy tiger year!"
5+
date: 2022-01-08 00:00:00
6+
author: "Zhangxx"
7+
header-img: "img/post-bg-wotplus-nine.png"
8+
catalog: true
9+
tags:
10+
- SpringCloud
11+
---
12+
13+
> 黄沙百战穿金甲,不破楼兰终不还.
14+
15+
## 前言
16+
---
17+
18+
个人使用的是腾讯云的轻量应用服务器和云服务器,因为单用一台轻应用撑不起安装的这一整套东西,麻雀虽小,五脏俱全;
19+
轻应用使用的是Docker基础镜像-CentOS7.6-Docker20,感觉还很方便;
20+
21+
镜像仓库使用的是阿里云的**容器镜像服务**的镜像仓库个人实例,毕竟网易云的改了名,也不给个人开发者用了;
22+
23+
24+
25+
## 单机Nacos部署
26+
27+
[quick-start](https://nacos.io/zh-cn/docs/quick-start.html)
28+
29+
```shell
30+
tar -xvf nacos-server-$version.tar.gz
31+
cd nacos/bin
32+
sh startup.sh -m standalone
33+
34+
sh shutdown.sh
35+
36+
netstat -na|grep 8848
37+
```
38+
**注意:** 虽然端口在监听,但是防火墙是屏蔽的,需添加规则
39+
40+
## RabbitMQ、MySQL、Redis
41+
42+
```shell
43+
docker pull rabbitmq:3.9.13-management
44+
45+
docker run -d --name rabbitmq3.9 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.9.13-management
46+
```
47+
48+
```shell
49+
docker pull mysql
50+
51+
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=** mysql:latest
52+
```
53+
54+
```shell
55+
docker pull redis
56+
docker run -itd --name redis-xinxin -p 6379:6379 redis
57+
docker exec -it redis-test /bin/bash
58+
```
59+
60+
## 部署Product项目(商品服务)
61+
62+
编写Dockerfile文件
63+
64+
```Shell
65+
FROM hub.c.163.com/library/java:8-alpine
66+
67+
MAINTAINER xinxin 377241804@qq.com
68+
69+
ADD server1/target/*.jar app.jar
70+
71+
EXPOSE 8082
72+
73+
ENTRYPOINT ["java", "-jar", "/app.jar"]
74+
```
75+
76+
```Shell
77+
docker build -t product:latest .
78+
79+
#push到阿里云仓库:
80+
docker login --username=37724****@qq.com registry.cn-hangzhou.aliyuncs.com
81+
docker tag 22c6879c9438 registry.cn-hangzhou.aliyuncs.com/amx1390/product:latest
82+
docker push registry.cn-hangzhou.aliyuncs.com/amx1390/product:latest
83+
84+
#服务器端拉取:
85+
docker pull registry.cn-hangzhou.aliyuncs.com/amx1390/product:latest
86+
87+
docker run -d -p 8082:8082 registry.cn-hangzhou.aliyuncs.com/amx1390/product
88+
89+
90+
#查看启动日志:
91+
docker logs [id]
92+
```
93+
94+
product启动后,nacos直接挂掉:
95+
```java
96+
java.net.ConnectException: [NACOS HTTP-POST] The maximum number of tolerable server reconnection errors has been reached
97+
at com.alibaba.nacos.client.config.http.ServerHttpAgent.httpPost(ServerHttpAgent.java:181) ~[nacos-client-1.4.1.jar!/:na]
98+
at com.alibaba.nacos.client.config.http.MetricsHttpAgent.httpPost(MetricsHttpAgent.java:68) ~[nacos-client-1.4.1.jar!/:na]
99+
at com.alibaba.nacos.client.config.impl.ClientWorker.checkUpdateConfigStr(ClientWorker.java:441) ~[nacos-client-1.4.1.jar!/:na]
100+
at com.alibaba.nacos.client.config.impl
101+
```
102+
103+
尝试在新的云服务器上部署nacos
104+
新的腾讯服务器使用的并不是Docker基础镜像,需自己安装docker:
105+
```Shell
106+
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
107+
108+
systemctl status docker
109+
systemctl start docker.service
110+
```
111+
112+
将Product项目部署到新的云服务器上,可正常访问;
113+
114+
115+
## 部署Order项目(订单服务)
116+
117+
基本和部署Product差不多,由于需要连接轻应用上的RabbitMQ,需开放其5672端口,并设置用户权限:`/`
118+
119+
120+
121+
## 部署Gateway项目(网关服务)
122+
123+
同上;
124+
125+
部署完毕后的测试链接:
126+
http://101.43.186.49:8848/nacos
127+
http://101.43.186.49:15672/
128+
http://101.43.186.49:9411/zipkin/
129+
130+
product:
131+
http://82.156.237.145:8082/product/list
132+
order:
133+
http://82.156.237.145:8081/loadbanlanceTest?name=xinxin
134+
gateway:
135+
http://82.156.237.145:8088/order/loadbanlanceTest?name=xinxin
136+
137+

0 commit comments

Comments
 (0)