概述

本文档向开发人员、运维人员提供JPAAS开发环境部署方案,包括软硬件环境的准备,配套工具的安装配置等。文中涉及的开源项目工具,请运维人员按照提示到相应网址、位置下载。

环境/材料准备

硬件环境

以下列出的为开发使用的最低配置:

  1. 计算机类型:物理机或虚拟机
  2. CPU:4核 2.0GHz
  3. 内存:16G+
  4. 磁盘:128G以上
  5. 操作系统:windows7以上或者MAC

软件安装包准备

必要

  1. IDEA
  2. GIT
  3. MAVEN 3.6以上
  4. JDK 1.8以上
  5. 数据库
  6. 数据库连接工具,如PL/SQL等
  7. Nginx (转发,通过代理处理)
  8. NodeJs(包括npm) (前端环境)
  9. Redis (缓存)
  10. Hbuilder/VS Code
  11. RocketMq (消息队列)
  12. Seata1.3.8(seata服务端)

可选

  • FastDfs (分布式文件服务器)

搭建步骤

前端服务配置启动

平台vue主项目

VUE主体,在IDEA中通过npm获取包,在项目的package.json文件可查看下载包的版本

A.从私服获取两个jpaas代码发布的依赖包(需要指定版本,如上图所示)

npm install jpaas-common-lib@1.9.58 jpaas-form-component@1.6.33  --registry=http://dev.redxun.cn:8081/repository/npm_redxun_group/

B.从淘宝拉取包

npm install --registry=https://registry.npm.taobao.org
  • 包拉取完成后,启动前端服务:
    Jpaas-vue:启动语句:npm run serve
  • 其他模块启动语句:npm run dev
  • 启动成功后可测试进入前端页面
    默认地址:http://localhost:8002/jpaas/
    一般是通过nginx进行代理

配置nginx

Nginx从gitlab拉下来后Windows直接解压缩使用,通过nginx目录的nginx.conf文件配置做服务的代理:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    #

    client_max_body_size 1000m;#最大上传大小
        proxy_connect_timeout 300s;#连接超时
        proxy_send_timeout 300s;#连接超时
        proxy_read_timeout 300s;#连接超时

    #upstream linuxidc {
        #    server 192.168.1.88:8082;
        #    server 192.168.1.88:8081;
        #}



    server {
        listen       8085;
        server_name  localhost;
        client_max_body_size 1000m;#最大上传大小
        proxy_connect_timeout 300s;#连接超时
        proxy_send_timeout 300s;#连接超时
        proxy_read_timeout 300s;#连接超时
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #location /cas {
                #        proxy_pass http://linuxidc/cas;
                #        proxy_set_header Host $host:$server_port;
        #    proxy_set_header X-Real-Ip $remote_addr;
        #    proxy_set_header X-Forwarded-For $remote_addr;
        #}
        location /demo {
             alias   E:\\temp\\vuemb\\dist\\;
           index  index.html index.htm;
             try_files $uri $uri/ /demo/index.html;
        }
        location / {
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:8088;
             client_max_body_size 50m;
             client_body_buffer_size 50m;
        }
        location /MP_verify_jxiHq9FENvbup3Qa.txt {
            alias   D:/application/nginx-1.13.6/MP_verify_jxiHq9FENvbup3Qa.txt;
        }

        location /jpaas {
            #alias   D:\\daima\\idea\\git\\jpaas\\jpaas_sources\\jpaas-web\\jpaas-vue\dist\\;
            #index  index.html index.htm;
            #try_files $uri $uri/ /jpaas/index.html;
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:8002;
             client_max_body_size 50m;
             client_body_buffer_size 50m;
        }
        location /api/ {
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:9900/;
             client_max_body_size 500m;
             client_body_buffer_size 500m;
        }

        location /mobile{
             #proxy_set_header Host       $host;
             #proxy_pass http://127.0.0.1:8001;
              alias  D:\\application\\nginx-1.13.6\\mobile;
        }
        location /form {
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:8080;
        }

        location /ureport {
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:7302;
        }

        #location /form {
             #alias   D:\\daima\\idea\\svn\\formDesige\\dist;
             #try_files $uri $uri/ /form/index.html;
        #}

        location /bpm-designer {
             #alias   D:/dist;
             #alias C:/Users/shenzhongwen/Desktop/bpm-designer;
             #alias D:\\daima\\idea\\git\\jpaas\\jpaas_sources\\jpaas-web\\jpaas_bpm_designer\\dist;
             #index  index.html index.htm;
             #try_files $uri $uri /bpm-designer/index.html;
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:8087;
        }

        location /office {
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:8288;
        }

        location /job {
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:7878;
        }

        #location /office {
             #alias   D:\\daima\\idea\\git\\jpaas\\jpaas_sources\\jpaas-web\\simple\\jpaas-office\dist\\;
           #index  index.html index.htm;
             #try_files $uri $uri/ /office/index.html;
        #}

                #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}
    }

    server {
        listen       8090;
        server_name  localhost;
        client_max_body_size 1000m;#最大上传大小
        proxy_connect_timeout 300s;#连接超时
        proxy_send_timeout 300s;#连接超时
        proxy_read_timeout 300s;#连接超时
        #charset koi8-r;

        #access_log  logs/host.access.log  main;


        location /jpaas {
             alias   D:\\temp2\\front\\jpaas-vue;
           index  index.html index.htm;
             try_files $uri $uri/ /jpaas/index.html;
        }
        #location / {
             #alias   D:\\temp2\\front\\jpaas-vue;
           #index  index.html index.htm;
              #try_files $uri $uri/ \index.html;
             #autoindex  on;
        #}

        location / {
             root    "D:/temp2/front/jpaas-vue";
            try_files $uri $uri/ /index.html?$query_string;
             autoindex  on;
        }



        location /api/ {
             proxy_set_header Host       $host;
             proxy_pass http://127.0.0.1:9900/;
             client_max_body_size 50m;
             client_body_buffer_size 50m;
        }
    }

    server {
        listen       80;
        server_name  localhost;
        client_max_body_size 1000m;#最大上传大小
        proxy_connect_timeout 300s;#连接超时
        proxy_send_timeout 300s;#连接超时
        proxy_read_timeout 300s;#连接超时
        #charset koi8-r;
        add_header Access-Control-Allow-Origin *;

        add_header Access-Control-Allow-Headers X-Requested-With;

        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

        #location /jpaas {
             #proxy_set_header Host       $host;
             #proxy_pass http://127.0.0.1:8002;
             #client_max_body_size 50m;
             #client_body_buffer_size 50m;
       # }

        location / {

           #代理本地文件夹

            root D:\\ntkoweboffice\\ntkooffice;

            autoindex on;

        }
    }

}

Oracle数据库初始化

其他数据库类型的数据初始化也一样,请参考不同的数据数据库的初始化来执行脚本。

分别按照后台代码jpaas-java 里面的oracle初始化sql,新建对应的数据隔离的用户,导入对应的sql,如下所示:

执行后的数据库

后端服务配置与启动

  1. maven库文件从gitlab拉下来
  2. 覆盖maven setting.xml文件

执行:
clean install
maven-》reimport

IDEA配置

1 配置maven
![](/uploads/jpaas/images/m
b738e54c8f0ce4229f5c6663458b9a93_r.png)
_2. idea导入jpaas-java的主干java代码
_3. 导入成功后,maven关闭test.
_4. 更新下载maven依赖库.
_5. 清空依赖.
_6. 生成本地依赖jar.

_7. 以上步骤执行完成,则配置各个微服务的启动参数,如下图所示:

_8. 选择启动各个微服务:

Nacos配置和启动

从GITLIB获取下载,解压,再启动nacos:

在bin目录下运行startup.cmd文件

登录nacos
登录地址:http://localhost:8848/
账号密码默认都是nacos
导入配置文件(所有配置文件都是git 的msa-doc目录上)

导入后
对nacos进行修改 一般导入需要确认是否需要修改有三个
Dataid:
nacos-config.properties
nacos-config-dev.properties
nacos-config-prod.properties(默认是dev环境)

注意:nacos-config.properties默认是需要修改服务器地址的

nacos-config-dev.properties:配置数据库连接,redis,rocketmq消息中间件

连接seata的数据连接也需要确认是否要修改
搜索data_id: store.db.url(默认是dev环境)


Redis相关修改

nacos-config-dev.properties
nacos-config-prod.properties
修改redis地址和密码

Seata服务器启动

双击 oracle版本seata的启动文件:seata-server.bat

RocketMq服务器启动(非必需)

从git下下载msa-doc项目,进入softeware-rocketmq目录,如下图:

双击run.bat,启动rocketmq监控界面程序。
进入rocketmq45/bin目录下,双击play.cmd,启动broker及namesrv服务,如下图所示:

IDEA启动服务

_1. 配置要启动的项目



_2. 配置完成后即可启动服务

注意:启动报错信息
报错信息大概如下:

Error running ‘xxx’:
Command line is too long. Shorten command line for xxx or also for Application default configuration.

解决方案(1):

找到项目下的.idea/workspace.xml,在标签里添加一行属性:

其它属性不改

服务启动 如果没有service窗口
按以下步骤
springboot在idea的RunDashboard如何显示出来

打开workspace.xml文件之后,找到component为RunDashboard的节点处,然后在component标签里添加

最后保存即可,保存完成之后立即自动弹出Run Dashboard窗口了
文档更新时间: 2021-07-09 14:27   作者:csx