非k8s API集群部署
配置文件修改
以base-api在同一服务器部署两个节点为例
mkdir -p /opt/server/cluster
vi /opt/server/cluster/base-api-node1.yml
粘贴如下内容
spring:
application:
name: base-api
cloud:
config:
uri: http://localhost:8888
profile: dev
label: master
server:
port: 7000
vi /opt/server/cluster/base-api-node2.yml
粘贴如下内容(主要区分端口号,其他api请修改name和端口号)
spring:
application:
name: base-api
cloud:
config:
uri: http://localhost:8888
profile: dev
label: master
server:
port: 6000
建立执行脚本
vi /opt/server/start.sh
粘贴如下内容:
ps -ef |grep java |grep buyer |grep -v 'grep'|awk '{print $2}' | xargs kill -9
ps -ef |grep java |grep seller |grep -v 'grep'|awk '{print $2}' | xargs kill -9
ps -ef |grep java |grep manager |grep -v 'grep'|awk '{print $2}' | xargs kill -9
ps -ef |grep java |grep base |grep -v 'grep'|awk '{print $2}' | xargs kill -9
ps -ef |grep java |grep consumer |grep -v 'grep'|awk '{print $2}' | xargs kill -9
cd /opt/source/b2b2c
git pull
mvn clean install -DskipTests -f pom.xml
rm -rf /opt/server/*.jar
mv /opt/source/b2b2c/base-api/target/base-api-7.1.0.jar /opt/server/
mv /opt/source/b2b2c/buyer-api/target/buyer-api-7.1.0.jar /opt/server/
mv /opt/source/b2b2c/consumer/target/consumer-7.1.0.jar /opt/server/
mv /opt/source/b2b2c/manager-api/target/manager-api-7.1.0.jar /opt/server/
mv /opt/source/b2b2c/seller-api/target/seller-api-7.1.0.jar /opt/server/
cd /opt/server
nohup java -Xmx512m -Xms256m -Xss256k -jar base-api-7.1.0.jar --spring.config.location = /opt/server/cluster/base-api-node1.yml> logs/base-node1.out &
nohup java -Xmx512m -Xms256m -Xss256k -jar base-api-7.1.0.jar --spring.config.location = /opt/server/cluster/base-api-node2.yml> logs/base-node2.out &
...
以上…部分需要将其他api的节点配置粘贴好后
执行脚本:
sh start.sh
以后更新部署时,直接执行此脚本即可
###配置ngnix反向代理,以下作为参考:
upstream base_api_service{
ip_hash;
server 192.168.2.1:7000 weight=8;
server 192.168.2.2:7000 weight=2;
#下面为同一台服务器两个节点不同端口的配置
#server 192.168.2.1:7000 weight=8;
#server 192.168.2.1:6000 weight=2;
}
server {
listen 8887;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://base_api_service; proxy_set_header Host $host:$server_port;
index index.html index.htm;
}