微服务部署


服务器规划:


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';

测试:
首页:

点击查询商品:

点击查询订单:

商品接口:

订单接口:

浙公网安备 33010602011771号