部署说明
说明:先部署基础环境例如:mysql,redis。再部署jepaas,instant,connector。jepaas调试完成后添加nginx,最后调试NFS
进行jepaas负载环境架构
jepaas基础环境部署服务器示例:
操作系统 | nginx IP | jepaas1 IP | jepaas2 IP | 基础服务 IP | NFS IP |
---|---|---|---|---|---|
centos7 | 192.168.20.3 | 192.168.20.4 | 192.168.20.5 | 192.168.20.6 | 192.168.20.7 |
注意:各个服务器清理iptables, iptables -F
jepaas负载环境架构图如下:
基础服务的安装
说明:首先安装基础服务,基础服务包括:jdk,mysql,redis,instant,connector
根据负载架构基础服务的架构ip为192.168.20.6
下载安装包后解压进入文件夹如下图:
- 安装jdk
sh 1_jdk_install.sh
- 安装mysql
sh 2_mysql_install.sh
- 安装redis
sh 3_redis_install.sh
- 安装instant
sh 5_instant_install.sh
- 安装connector
sh 6_connect_install.sh
jepaas服务的安装
jepaas1服务安装
说明:根据架构说明,jepaas1的ip为192.168.20.4
下载安装包后解压进入文件夹
安装jdk
sh 1_jdk_install.sh
安装jepaas
sh 4_jepass_install.sh
修改配置文件
修改mysql 配置
将localhost改成数据库mysql服务器ip,当前配置为192.168.20.6,数据库其他的信息修改可以根据实际情况修改修改redis配置
将localhost改成redis服务器ip,当前配置为192.168.20.6,redis其他的信息修改可以根据实际情况修改
重启服务
说明:重启配置文件后重启服务service tomcat restart
jepaas2服务安装
jepaas2的安装和jepaas1安装一致
openresty服务的安装
根据架构说明对应的ip:192.168.20.3
说明:安装openresty后修改配置文件sh 7_openresty_install.sh
修改配置文件
- 配置代理jepaas配置文件
jepaas代理修改:/data/application/openresty/nginx/conf/nginx.conf
在配置文件中引用/data/application/openresty/nginx/conf/conf.d/default.confcat /data/application/openresty/nginx/conf/nginx.conf upstream jepaas { server 192.168.20.4:8080; #jepaas1的ip,当前实例的ip为192.168.20.4 server 192.168.20.5:8080; #jepaas2的ip,当前实例的ip为192.168.20.5 }
cat /data/application/openresty/nginx/conf/conf.d/default.conf location / { proxy_pass http://jepaas; #代理jepaas, localhost为jepaas主所在服务器ip proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; client_max_body_size 500m; client_body_buffer_size 256k; proxy_connect_timeout 1; proxy_send_timeout 30; proxy_read_timeout 60; proxy_buffer_size 256k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; proxy_max_temp_file_size 128m; }
- 配置instant和connector的代理
说明:配置对应的ip,instant和connector为192.168.20.6
[root@localhost conf.d]# pwd
/data/application/openresty/nginx/conf/conf.d
[root@localhost conf.d]# cat default.conf
server {
listen 80; #需要配置的端口号
server_name 127.0.0.1; #需要配置的域名
error_page 404 500 login.html;
charset utf-8;
#access_log /var/log/nginx/host.access.log main;
root /data/application/openresty/nginx/deploy;
location = / {
root /data/application/openresty/nginx/deploy; #静态文件部署的目录
index index.html;
}
location ~ /favicon.ico {
root /data/application/openresty/nginx/deploy; #静态文件部署的目录
proxy_connect_timeout 1;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 256k;
proxy_buffers 8 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404 http_504 http_502;
proxy_max_temp_file_size 128m;
}
location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff|json|html|js|css|ico|png|jpg|gif|eot|svg|ttf|woff|json|txt|ico|mp4|gz) {
root /data/application/openresty/nginx/deploy; #静态文件部署的目录
proxy_send_timeout 1000;
proxy_read_timeout 1000;
proxy_buffer_size 256k;
proxy_buffers 8 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
#proxy_next_upstream_tries 1;
proxy_max_temp_file_size 128m;
proxy_cache_valid 200 304 12h;
proxy_cache_valid 301 302 1d;
proxy_cache_valid any 1m;
proxy_cache_key $uri$is_args$args;
expires 30d;
}
location /socket.io/ {
proxy_redirect off;
#proxy_buffers 8 32k;
#proxy_buffer_size 64k;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# proxy_set_header Connection $connection_upgrade;
proxy_request_buffering off;
proxy_buffering off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
#proxy_set_header X-NginX-Proxy true;
proxy_pass http://192.168.20.6:7001/socket.io/; #代理socket, localhost为socket所在服务器ip
}
location /jesocket {
proxy_redirect off;
#proxy_buffers 8 32k;
#proxy_buffer_size 64k;
proxy_pass http://192.168.20.6:7000; #代理socket, localhost为jesocket所在服务器ip
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# proxy_set_header Connection $connection_upgrade;
proxy_request_buffering off;
proxy_buffering off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
#proxy_set_header X-NginX-Proxy true;
}
location ^~ /instant {
proxy_pass http://192.168.20.6:8088; ##代理instant, localhost为instant所在服务器ip
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_connect_timeout 1;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
}
location / {
proxy_pass http://jepaas; #代理jepaas, localhost为jepaas主所在服务器ip
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
client_max_body_size 500m;
client_body_buffer_size 256k;
proxy_connect_timeout 1;
proxy_send_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
}
}
- 重启openresty
systemctl restart openresty
安装NFS
说明:当前安装nfs服务端在192.168.20.7,nfs客户端安装在平台类服务器上(上面部署了document服务),服务器ip为192.168.20.4,192.168.20.5
- NFS服务端安装
yum install nfs-utils -y
- 创建共享目录
1.在 /etc/exports 配置文件中添加以下内容,保存退出;
2.创建共享目录并给予写的权限vim /etc/exports /data 192.168.20.0/24(rw, sync ,no_root_squash)
mkdir /data
chmod o+w /data - 启动NFS服务
systemctl restart rpcbind systemctl restart nfs-server(nfs) systemctl enable rpcbind systemctl enable nfs-server(nfs)
- 添加防火墙,或者直接关闭防火墙
添加防火墙
关闭防火墙firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --permanent --zone=public --add-service=mountd firewall-cmd --permanent --zone=public --add-service=rpc-bind firewall-cmd --reload
iptables -F
- 客户端的安装
yum install nfs-utils -y
- 确认挂载目录
注意:挂载前要把/usr/local/tomcat/webapps/deploy/document下原始文件内容保存下来,挂载好后再覆盖进去,以防找不到原始的文件,
当前需要挂载的目录:/usr/local/tomcat/webapps/deploy/document
1.挂载目录mount -t nfs 192.168.20.4:/data /usr/local/tomcat/webapps/deploy/document
将原来的保存的/usr/local/tomcat/webapps/deploy/document目录复制进去
修改connector的配置文件
修改connector配置,指定证书地址(当前地址都是通过nginx代理访问,ip为nginx的ip 192.168.20.3)
[root@localhost connector-server-1.0.0.RELEASE]# cat application.conf
##################################################################################################################
#
# NOTICE:
#
# 系统配置文件,所有列出的项是系统所支持全部配置项
#
# 配置文件格式采用HOCON格式。解析库由https://github.com/typesafehub/config提供。
# 具体可参照说明文档,比如含有特殊字符的字符串必须用双引号包起来。
#
##################################################################################################################
server {
#主机配置
host=127.0.0.1
#是否压缩
compress=false
#是否加密
encryption=false
#会话超时时间
sessionExpiredTime=36000000
#连接器定义,用于规划连接
connector {
port=6000
}
#Netty原生WebSocket定义
websocket {
port=7000
wsPath="/jesocket"
}
#SocketIO定义
socketio {
port:7001
origin:"http://192.168.20.3" #改成nginx的ip:192.168.20.3
}
#Redis配置定义
redis {
url:localhost,
port:6379,
password:123456,
timeout:2000,
database:0
}
#消息配置定义
jmx {
topic:topic.im.msg
type:redis
enabled:true
}
#缓存配置定义
cache {
type:redis,
enabled:true
},
#证书服务
jeplantform {
jeServerUrl:"http://192.168.20.3",#改成nginx的ip:192.168.20.3
transgerWithLogin:"/je/doAct/doAct/loadTx",
pushCertStatus:"/je/login/btnLog/pushStatus",
},
#App证书服务
jeaplantformapp {
jeAppServerUrl:"http://192.168.20.3",#改成nginx的ip:192.168.20.3
transgerAppWithLogin:"/je/doAct/doAct/loadAppTx",
pushAppCertStatus:"/je/login/btnLog/pushStatus",
},
#多服务配置
servers {
serverUrl.home:"http://192.168.20.3"#改成nginx的ip:192.168.20.3
serverUrl.kyxm:"http://localhost:8081"
serverUrl.epm:"http://localhost:8082"
serverUrl.hse:"http://localhost:8083"
serverUrl.wms:"http://localhost:8084"
serverUrl.hqms:"http://localhost:8085"
serverUrl.oa:"http://localhost:8086"
serverUrl.hist:"http://localhost:8087"
}
#业务通用配置
business {
instantServerUrl:"http://localhost:8088/instant",
instantGetAllMsgUrl:"/instant/news/getNoReadNewsByUser",
instantUpdateMsgStatusUrl:"/instant/news/updateNewsStatusByUser",
instantAddMessageUrl:"/instant/news/addMessage",
instantGetGroupDetailUrl:"/instant/group/getGroupDetail"
}
}