微服务部署

 服务器规划:

 

119安装maven:

cd /opt

tar xf apache-maven-3.5.0-bin.tar.gz 

vi /etc/profile

export PATH=$PATH:/opt/apache-maven-3.5.0/bin

source /etc/profile

119、120、121安装jdk:

yum -y install java*

119上传微服务安装文件并解压:

/opt/simple-microservice

部署order、product、stock这三个微服务:

119修改涉及到的3个微服务的配置文件:

[root@localhost resources]# vi /opt/simple-microservice/order-service/order-service-biz/src/main/resources/application-fat.yml 
[root@localhost resources]# vi /opt/simple-microservice/stock-service/stock-service-biz/src/main/resources/application-fat.yml
[root@localhost resources]# vi /opt/simple-microservice/product-service/product-service-biz/src/main/resources/application-fat.yml

 119、120、121创建目录:

mkdir /data/ms/{product,stock,order,eureka} -d

[root@localhost simple-microservice]# pwd

/opt/simple-microservice

mvn生成jar包:
[root@localhost simple-microservice]# mvn clean package -Dmaven.test.skip=true

119、120、121拷贝微服务jar包:

for ip in 192.168.3.119 192.168.3.120 192.168.3.121;do
   for name in product order stock;do
      scp $name-service/$name-service-biz/target/$name-service-biz.jar root@$ip:/data/ms/$name
   done
done

119、120、121拷贝eureka的jar包:

for ip in 192.168.3.119 192.168.3.120 192.168.3.121;do

    /opt/simple-microservice/eureka-service/target/eureka-service.jar  root@$ip:/data/ms/$name

done

119、120、121设置启动服务:

for name in order product stock;do

cat > /usr/lib/systemd/system/$name.service << EOF

[Unit]
Description=$name
Documentation=$name

[Service]
ExecStart=/usr/bin/java -jar /data/ms/$name/$name-service-biz.jar
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

EOF

done

119、120、121启动:

for name in order product stock;do

  systemctl start $name

  systemctl enable $name

done

119、120、121的order、stock、product、eureka都启动后:

[root@localhost ~]# jps -l
693 /data/ms/product/product-service-biz.jar
694 /data/ms/order/order-service-biz.jar
695 /data/ms/stock/stock-service-biz.jar
697 /data/ms/eureka/eureka-service.jar
1692 sun.tools.jps.Jps

119、120、121检查是否注册服务:

 

 查看日志:

journalctl -u order -f

部署gateway和portal这两个微服务:

修改gateway配置文件:

vi gateway-service/src/main/resources/application-fat.yml 

 

 修改portal配置文件:

vi portal-service/src/main/resources/application-fat.yml 

 119、120、121创建目录:

mkdir /data/ms/{gateway,portal} 

重新构建:

mvn clean package -Dmaven.test.skip=true

119、120、121拷贝微服务jar包:

for ip in 192.168.3.119 192.168.3.120 192.168.3.121;do
for name in gateway portal;do
scp $name-service/target/$name-service.jar root@$ip:/data/ms/$name
done
done

119、120、121设置启动服务:

for name in gateway portal;do

cat > /usr/lib/systemd/system/$name.service << EOF

[Unit]
Description=$name
Documentation=$name

[Service]
ExecStart=/usr/bin/java -jar /data/ms/$name/$name-service.jar
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

EOF

done

119、120、121启动:

for name in gateway portal;do

  systemctl start $name

  systemctl enable $name

done

检查:

[root@localhost system]# jps -l
1955 /data/ms/gateway/gateway-service.jar
693 /data/ms/product/product-service-biz.jar
2069 sun.tools.jps.Jps
694 /data/ms/order/order-service-biz.jar
695 /data/ms/stock/stock-service-biz.jar
697 /data/ms/eureka/eureka-service.jar
1993 /data/ms/portal/portal-service.jar

119上面安装nginx做均衡,因为nginx只是做均衡,所以不写程序路径:

[root@localhost portal]# vi /etc/nginx/conf.d/microservice.conf

upstream gateway{
server 192.168.3.120:9999;
server 192.168.3.121:9999;

}
server {
listen 80;
server_name gateway.ctnrs.com;
access_log /var/log/nginx/gateway-access.log main;
location / {
proxy_pass http://gateway;
}
}


upstream portal{
server 192.168.3.120:8080;
server 192.168.3.121:8080;

}
server {
listen 80;
server_name portal.ctnrs.com;
access_log /var/log/nginx/portal-access.log main;
location / {
proxy_pass http://portal;
}
}

windows和linux的hosts文件:

192.168.3.119 gateway.ctnrs.com portal.ctnrs.com

在119上面创建和配置数据库:

create database tb_order;

create database tb_stock;

create database tb_product;

use tb_product

source /opt/simple-microservice/db/product.sql

use tb_order

source /opt/simple-microservice/db/order.sql

use tb_stock 

source /opt/simple-microservice/db/stock.sql

MariaDB [(none)]> grant all on *.* to 'ms'@'192.168.3.119' identified by '123456';

 

测试:

首页:

点击查询商品:

 

 点击查询订单:

 

 

 商品接口:

 

订单接口:

 

 

posted @ 2021-05-31 00:17  jamespeng2020  阅读(570)  评论(0)    收藏  举报