概述
本文档向开发人员、运维人员提供JPAAS开发环境部署方案,包括软硬件环境的准备,配套工具的安装配置等。文中涉及的开源项目工具,请运维人员按照提示到相应网址、位置下载。
环境/材料准备
硬件环境
以下列出的为开发使用的最低配置:
- 计算机类型:物理机或虚拟机
- CPU:4核 2.0GHz
- 内存:16G+
- 磁盘:128G以上
- 操作系统:windows7以上或者MAC
软件安装包准备
必要
- IDEA
- GIT
- MAVEN 3.6以上
- JDK 1.8以上
- 数据库
- 数据库连接工具,如PL/SQL等
- Nginx (转发,通过代理处理)
- NodeJs(包括npm) (前端环境)
- Redis (缓存)
- Hbuilder/VS Code
- RocketMq (消息队列)
- 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,如下所示:
执行后的数据库
后端服务配置与启动
- maven库文件从gitlab拉下来
- 覆盖maven setting.xml文件
执行:
clean install
maven-》reimport
IDEA配置
1 配置maven
![](/uploads/jpaas/images/mb738e54c8f0ce4229f5c6663458b9a93_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窗口了