项目码云主页:https://gitee.com/vakinge/oneplatform
官网:http://www.jeesuite.com/
文档:http://www.jeesuite.com/docs/index.html
作者提供了项目部署的视频教程和所需要的配置文件等,视频是基于macOS所录制的,但我使用的是windows+centOS环境,在此把我的实践过程记录下来。
环境准备
我使用了作者创建的docker环境。
首先在centOS中安装docker。
yum -y install docker-io
运行docker。
service docker start
拉取作者的docker镜像并运行
mkdir -p /datas/redis
mkdir -p /datas/kafka
mkdir -p /datas/zookeeper
mkdir -p /datas/logs
mkdir -p /datas/config
# /datas/config文件夹 包含:kafka.properties,zookeeper.properties,redis.conf(群里面有)
#拉取并运行
docker run -it --net="host" -p 6379:6379 -p 2181:2181 -p 9092:9092 -m 1024M --memory-swap=1024M -v /datas:/datas vakinge/centos-java-dev
kafka.properties,zookeeper.properties,redis.conf的文件内容在此给出。
https://blog.csdn.net/li7134600/article/details/81632673
[图片上传失败...(image-f6842f-1536317041417)]
Ctrl + P + Q
退出容器保持后台运行。
查看端口信息,证明docker容器已启动。
服务器上的mysql环境请自行安装,我使用的是二进制包安装方法,没有使用rpm。
[图片上传失败...(image-c39516-1536317041417)]
运行配置中心
下载项目
git clone https://git.oschina.net/vakinge/jeesuite-config.git
编译项目
mvn clean package -DskipTests=true
最终生成部署包为:jeesuite-config-server/target/jeesuite-config-server.jar
创建数据库表
CREATE DATABASE IF NOT EXISTS `configcenter` DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
导入项目中db.sql
此处是云服务器中的mysql
修改配置
可以在编译前直接修改jeesuite-config/jeesuite-config-server/src/main/resources/application.properties
文件,也可以加载外部配置文件,推荐外部加载配置文件。
部署
拷贝jeesuite-config-server.jar 与 application.properties在同一目录,springboot会优先加载同一目录下名为application.properties的配置文件。
nohup java -jar jeesuite-config-server.jar > config-server.out 2>&1 &
启动成功,打开http://127.0.0.1:19992
,初始账号密码:admin /admin123
注意:我是在云服务器运行的,所以直接使用公网IP地址打开,如
http://云服务器的IP地址:19992
,并不是127.0.0.1,如果你使用的是虚拟机,请使用虚拟机分配到的IP地址。
[图片上传失败...(image-eda27c-1536317041417)]
配置中心主要用来管理不同的运行环境如开发,测试,发布等等,并提供配置文件的修改和拉取等。
运行注册中心
其中服务的注册发现依赖于eureka,所以我们把作者的eureka注册中心也部署到centOS中
clone项目到本地
git clone https://gitee.com/vakinge/oneplatform.git
其中一个module是springcloud-eureka
,和配置中心一样打包得到springcloud-eureka.jar
,并上传到同级目录下运行。
nohup java -jar springcloud-eureka.jar > springcloud-eureka.out 2>&1 &
启动成功,打开http://127.0.0.1:19991
,初始账号密码:oneplatform/oneplatform2018
如果是和我一样在云服务器中启动则是
http://云服务器的IP地址:19991
,虚拟机同理。
[图片上传失败...(image-676c93-1536317041417)]
可以看到此时还没有项目注册到eureka。
运行oneplatform-platform
创建数据库
CREATE DATABASE IF NOT EXISTS `oneplatform` DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
此处是云服务器中的mysql
创建表
分别导入oneplatform-platform/db.sql
和oneplatform-services/common-service/db.sql
此处是云服务器中的mysql
修改本地配置文件
[图片上传失败...(image-316e70-1536317041417)]
将jeesuite.configcenter.base.url
的值修改为我们刚才启动的配置中心地址,如果是本地启动则是http://127.0.0.1:19992
,如果是和我一样在云服务器中启动则是http://云服务器的IP地址:19992
,虚拟机同理。
jeesuite.configcenter.enabled=true
表示开启从配置中心加载配置文件。
jeesuite.configcenter.profile=dev
这个配置项表示的是对应什么样的运行环境,此处表示开发环境。
修改注册中心配置文件
[图片上传失败...(image-565e4-1536317041417)]
我们刚才的分析显示,项目会从服务器拉取开发环境的配置文件,所以修改配置文件的内容中mysql的部分,为云服务器上的mysql配置,虚拟机同理。
启动项目
此时在本地windows中启动项目
[图片上传失败...(image-be8730-1536317041417)]
配置Nginx
server {
listen 8000;
server_name localhost;
charset utf-8;
location / {
#这里改成你项目本地路径
root D:\IdeaProjects\vakinge-oneplatform-master\oneplatform\oneplatform-ui-layui;
index index.html;
}
location /api {
proxy_pass http://127.0.0.1:8001/api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
启动Nginx
C:\server\nginx-1.0.2>start nginx.exe
访问oneplatform
打开http://127.0.0.1:8000
,初始账号密码:admin /123456
[图片上传失败...(image-9a55b2-1536317041417)]
可以看到检测到了运行的节点信息。
运行oneplatform-services下的common-service
[图片上传失败...(image-187a4-1536317041417)]
[图片上传失败...(image-f22870-1536317041417)]
可以看到平台监测到了我们新运行的节点。