部署说明

说明:先部署基础环境例如: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
下载安装包后解压进入文件夹如下图:

  1. 安装jdk
    sh 1_jdk_install.sh
  2. 安装mysql
    sh 2_mysql_install.sh
  3. 安装redis
    sh 3_redis_install.sh
  4. 安装instant
    sh 5_instant_install.sh
  5. 安装connector
    sh 6_connect_install.sh

jepaas服务的安装

jepaas1服务安装

说明:根据架构说明,jepaas1的ip为192.168.20.4
下载安装包后解压进入文件夹

  1. 安装jdk
    sh 1_jdk_install.sh

  2. 安装jepaas
    sh 4_jepass_install.sh

    修改配置文件
  3. 修改mysql 配置
    将localhost改成数据库mysql服务器ip,当前配置为192.168.20.6,数据库其他的信息修改可以根据实际情况修改

  4. 修改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

修改配置文件

  1. 配置代理jepaas配置文件
    jepaas代理修改:/data/application/openresty/nginx/conf/nginx.conf
    cat /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
     }
    在配置文件中引用/data/application/openresty/nginx/conf/conf.d/default.conf
    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;
     }
  2. 配置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;
    }


}
  1. 重启openresty
    systemctl restart openresty

安装NFS

说明:当前安装nfs服务端在192.168.20.7,nfs客户端安装在平台类服务器上(上面部署了document服务),服务器ip为192.168.20.4,192.168.20.5

  1. NFS服务端安装
    yum install nfs-utils -y
  2. 创建共享目录
    1.在 /etc/exports 配置文件中添加以下内容,保存退出;
    vim /etc/exports
    /data   192.168.20.0/24(rw, sync ,no_root_squash)
    2.创建共享目录并给予写的权限
    mkdir /data
    chmod o+w /data
  3. 启动NFS服务
    systemctl restart rpcbind
    systemctl restart nfs-server(nfs)
    systemctl  enable  rpcbind
    systemctl  enable  nfs-server(nfs)
  4. 添加防火墙,或者直接关闭防火墙
    添加防火墙
    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
  5. 客户端的安装
    yum install nfs-utils -y
  6. 确认挂载目录
    注意:挂载前要把/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"
    }
}
最后编辑: 翟厚翔  文档更新时间: 2025-05-23 16:32   作者:翟厚翔