EIP7部署文档-集群部署
1.搭建eurekaServer
1.1打包
本次eurekaServer搭建采用的集群方式。分别在10.10.0.184和10.10.0.185机器上部署。
在eurekaServer下创建两个application-server1.yml和application-server2.yml文件。配置内容如下:
使用eclipse打包如下:打开Run->Run Configurations...
执行完命令后,jar包生成在项目目录下的target目录下。
1.2部署
将步骤一的jar分别上传至服务器(255.255.255.0和255.255.255.1 此为虚拟ip)的/home/hotent/eurekaServer/目录下,无eurekaServer目录则自行创建。
同时在eurekaServer目录下创建一个用于启动服务的shell脚本文件:start.sh,
并执行chmod +x start.sh赋予执行权限。
255.255.255.0机器的start.sh内容如下:
#!/bin/bash
nohup java -jar eurekaServer-1.0.0.jar --spring.profiles.active=server1 >eurekaServer.out 2>&1 &
255.255.255.1 机器的start.sh内容如下:
#!/bin/bash
nohup java -jar eurekaServer-1.0.0.jar --spring.profiles.active=server2 >eurekaServer.out 2>&1 &
在eurekaServer目录下运行shell脚本命令:./start.sh 即可启动。
1.3检测
在内网电脑浏览器分别访问:http://255.255.255.0:8761/和http://255.255.255.1:8761/
出现以上页面则代表eurekaServer启动成功。
2.前端vue部署
前端vue有mvue、fvue应用,分别代表eip的管理端、应用端。
管理端前端的根路径:/web/manage
应用端前端的根路径:/web/front
2.1sso.js配置
sso.js作为前端请求后端的地址的集合,sso.js文件的位置在public目录下。
管理端sso:
window.context = {
manage: 'http://255.255.255.0/mvue', //管理端页面
front: 'http://255.255.255.0/fvue', //前端页面
mobile: 'http://255.255.255.0/mobilevue', //手机端页面
form: 'http://255.255.255.0/form',
portal: 'http://255.255.255.0/portal',
bpmRunTime: 'http://255.255.255.0/bpm-runtime',
bpmModel: 'http://255.255.255.0/bpm-model',
uc: 'http://255.255.255.0/uc',
mc: 'http://255.255.255.0/mc'
};
应用端sso:
window.context = {
manage: 'http://255.255.255.0/mvue', //管理端页面
front: 'http://255.255.255.0/fvue', //前端页面
mobile: 'http://255.255.255.0/mobilevue', //手机端页面
form: 'http://255.255.255.0/form',
portal: 'http://255.255.255.0/portal',
bpmRunTime: 'http://255.255.255.0/bpm-runtime',
bpmModel: 'http://255.255.255.0/bpm-model',
uc: 'http://255.255.255.0/uc',
};
2.2vue打包
在应用的根路径下,执行npm run build命令进行打包。若无依赖则先执行npm install进行依赖下载。打包命令完成后,会在根路径下生成一个dist目录,该目录的内容就是即将要部署的前端包。
管理端和应用端的操作方式一样。
2.3部署
将步骤(2)打包好的dist上传至255.255.255.0服务器的/home/hotent/web目录下,并将管理端的dist目录更名为mvue,应用端更名为fvue 。
2.4配置nginx
nginx.conf的负载均衡配置如下:
http {
upstream bpm-model {
server 255.255.255.3:8087;
server 255.255.255.4:8087;
server 255.255.255.5:8087;
}
upstream bpm-runtime {
server 255.255.255.3:8086;
server 255.255.255.4:8086;
server 255.255.255.5:8086;
}
upstream form {
server 255.255.255.3:8082;
server 255.255.255.4:8082;
server 255.255.255.5:8082;
}
upstream mc {
server 255.255.255.3:8085;
server 255.255.255.4:8085;
server 255.255.255.5:8085;
}
upstream portal {
server 255.255.255.3:8084;
server 255.255.255.4:8084;
server 255.255.255.5:8084;
}
upstream uc {
server 255.255.255.3:8088;
server 255.255.255.4:8088;
server 255.255.255.5:8088;
}
server {
listen 80;
server_name localhost;
location / {
root /home/hotent/web;
index index.html index.htm;
}
location /fvue {
root /home/hotent/web;
index index.html;
try_files $uri $uri/ /fvue/index.html;
}
location /mvue {
root /home/hotent/web;
index index.html;
try_files $uri $uri/ /mvue/index.html;
}
location =/mvue {
rewrite ^(.*)$ http://255.255.255.0:80/mvue/;
}
location =/fvue {
rewrite ^(.*)$ http://255.255.255.0:80/fvue/;
}
location /bpm-model {
rewrite ^/bpm-model/(.*)$ /$1 break;
proxy_pass http://bpm-model/;
}
location /bpm-runtime {
rewrite ^/bpm-runtime/(.*)$ /$1 break;
proxy_pass http://bpm-runtime/;
}
location /form {
rewrite ^/form/(.*)$ /$1 break;
proxy_pass http://form/;
}
location /mc {
rewrite ^/mc/(.*)$ /$1 break;
proxy_pass http://mc/;
}
location /portal {
rewrite ^/portal/(.*)$ /$1 break;
proxy_pass http://portal/;
}
location /uc {
rewrite ^/uc/(.*)$ /$1 break;
proxy_pass http://uc/;
}
}
}
启动nginx即可完成前端的部署。
管理端:http://255.255.255.0/mvue/home
应用端:http://255.255.255.0/fvue/home
3.后端微服务部署
3.1maven打包
在每个微服务模块下的pom.xml文件放开下图的build标签,才能单独打包出每个微服务各自jar包。
在eclipse菜单栏下:打开Run->Run Configurations...
等待命令运行完之后,在每个微服务模块目录下会生成一个target目录,微服务的jar就在target目录里面。
3.2jar上传至服务器
本文档以255.255.255.3服务器为例
jar包所在位置:模块目录下的target文件夹里。
将打包好的每个微服务jar上传至255.255.255.3服务器的/home/hotent/app/下各自的目录内(如下图)。没有对应目录则自行创建。
3.3外置配置文件
jar的配置文件采用:内外配置文件结合的方式,即jar内置配置文件+jar外置配置文件。
在jar的同级目录下创建一个application-uat.yml文件,每个微服务都要,用作应用的外置配置文件。
该文件主要用于配置数据库、redis、activemq、eureka信息。
下面以bpm-model微服务的application-uat.yml为例:
上图中绿色框的内容,每个微服务都不一样,其他的配置项保持不变即可。
配置区别如下:
|
spring.application.name |
spring.datasource....url |
server.port |
bpm-model |
bpm-model-eureka |
255.255.255.0:3306/htbpm |
8087 |
bpm-runtime |
bpm-runtime-eureka |
255.255.255.0:3306/htbpm |
8086 |
form |
form-eureka |
255.255.255.0:3306/htform |
8082 |
mc |
mc-eureka |
255.255.255.0:3306/htmc |
8085 |
portal |
portal-eureka |
255.255.255.0:3306/htportal |
8084 |
uc |
uc-eureka |
255.255.255.0:3306/htuc |
8088 |
3.4创建启动脚本
每个微服务目录下都创建一个用于启动服务的shell脚本文件:start.sh,
并执行chmod +x start.sh赋予执行权限。
不同微服务的start.sh文件内容如下:
|
start.sh文件内容 |
bpm-model |
#!/bin/bash nohup java -jar bpm-model.jar --spring.config.location=classpath:/config/application.yml,application-uat.yml >bpm-model.out 2>&1 & |
bpm-runtime |
#!/bin/bash nohup java -jar bpm-runtime.jar --spring.config.location=classpath:/config/application.yml,application-uat.yml >bpm-runtime.out 2>&1 & |
form |
#!/bin/bash nohup java -jar form.jar --spring.config.location=classpath:/config/application.yml,application-uat.yml >form.out 2>&1 & |
mc |
#!/bin/bash nohup java -jar mc.jar --spring.config.location=classpath:/config/application.yml,application-uat.yml >mc.out 2>&1 & |
portal |
#!/bin/bash nohup java -jar portal.jar --spring.config.location=classpath:/config/application.yml,application-uat.yml >portal.out 2>&1 & |
uc |
#!/bin/bash nohup java -jar uc.jar --spring.config.location=classpath:/config/application.yml,application-uat.yml >uc.out 2>&1 & |
3.5启动
在每个微服务目录下,执行 ./start.sh 命令即可启动该微服务。
3.6检测
方法一:在微服务目录下,(以bpm-model为例)执行tail -f bpm-model.out命令,可以实时查看微服务的运行日志。看到如下日志,即代表服务启动成功。
***********************
********应用已启动********
***********************
方法二:打开eurekaServer页面(http://255.255.255.0:8761/或http://255.255.255.1:8761/),可以查看具体机器具体的微服务情况。如下图所示:三台机器上的服务均正常启动。
至此,部署已经完成。
注:如果需要集成cas单点登录,则继续下面的第4步骤。否则可以忽略。
4.cas单点登录集成
4.1数据库配置
配置文件在cas-ninestar项目的src/main/resources下的application.yml。
数据库的url地址:uc微服务模块的数据库地址:如图红框所示,为需要修改的项。
4.2打成war包
按照下图的指示,把cas项目打出war包。
生成的cas.war包在项目目录的target目录下。
4.3上传并运行
把cas.var包上传服务器(以255.255.255.0为例)至tomcat的webapps目录下,并进入tomcat的bin下执行./startup.sh启动tomcat。
4.4检测
浏览器访问:http://255.255.255.0:8080/cas/login(如下图),输入账号密码成功登陆则说明cas运行成功。
4.5配置前端
修改前端的sso.js文件,如下(以255.255.255.0:8080为例):
// 单点配置
window.ssoConfig = {
mode: "cas",
url: 'http://255.255.255.0:8080/cas',
logout: 'http://255.255.255.0:8080/cas/logout'
}
应用端和管理端均要修改。
4.6配置后端
在每个微服务的外置配置文件application-uat.yml底下,添加如下配置信息:(注意yml文件的缩进写法)
system:
saas:
enable: false
sso:
enable: true
mode: cas
cas:
url: http://255.255.255.0:8080/cas
4.7重启服务
重新启动每一个微服务,即可。
4.8检测
清除浏览器缓存,正常访问管理端或者应用端的地址,将跳转至如下页面,并成功登录,则说明单点登录集成成功。
5. openOffice安装
5.1 下载tar.gz包
下载地址:http://www.openoffice.org/zh-cn/ (需要下载rpm格式的)
5.2 上传 tar.gz包
将下载好的tar.gz包上传至/opt/openoffice/目录下,目录不存在则自行创建
5.3 解压tar.gz包
在/opt/openoffice/下执行命令:
tar -zxvf Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_zh-CN.tar.gz
5.4 安装rpm文件
进入解压后的目录/opt/openoffice/zh-CN/RPMS/下,执行:rpm -ivh *.rpm
5.5 安装openoffice
进入到desktop-integration(/opt/openoffice/zh-CN/RPMS/desktop-integration/)下执行:
rpm -ivh openoffice4.1.7-redhat-menus-4.1.7-9800.noarch.rpm
至此,已安装完成。
5.6 检测
安装成功后会在/opt下出现一个openoffice4文件。
5.7 项目配置
在portal微服务模块下的application-uat.yml里添加openoffice的配置项:
file:
file.dir: /home/hotent/conver/
重启portal微服务,即可启动openoffice