一、項目簡介
17年初就接觸了zheng這個項目,感覺挺牛的,看他的架構圖就知道了
現在都已經18年了,時間好快,特此記錄下zheng的環境搭建,雖然,先看下碼雲上zheng的簡介吧:https://gitee.com/shuzheng/zheng。
zheng是基於Spring+SpringMVC+Mybatis分佈式敏捷開發系統架構,提供整套公共微服務服務模塊:集中權限管理(單點登錄)、內容管理、支付中心、用戶管理(支持第三方登錄)、微信平臺、存儲系統、配置中心、日誌分析、任務和通知等,支持服務治理、監控和追蹤,努力爲中小型企業打造全方位J2EE企業級開發解決方案。
二、導入項目
導入項目的方式有兩種,一種是通過git,一種是直接下載源碼然後導入到IDEA中,我這裏以下載源碼來演示,下載之後的源碼如下:
有如下一些模塊:
zheng-common--公共配置、MybatisGenerator擴展插件、通用BaseService、工具類等
zheng-admin--通用後臺管理系統,zheng項目所有後臺系統都是使用該模塊界面作爲前端展示。
zheng-ui--各個子系統前臺thymeleaf模板,前端資源模塊,使用nginx代理,實現動靜分離。
zheng-upms--基於RBAC授權和基於用戶授權的細粒度權限控制通用平臺,並提供單點登錄、會話管理和日誌管理。
zheng-cms--內容管理系統
zheng-oss--文件存儲系統
zheng-ucenter--通用用戶管理系統, 實現最常用的用戶註冊、登錄、資料管理、個人中心、第三方登錄等基本需求,支持擴展二次開發。
zheng-wechat-mp--微信公衆號管理平臺,除實現官網後臺自動回覆、菜單管理、素材管理、用戶管理、消息羣發等基礎功能外,還有二維碼推廣、營銷活動、微網站、會員卡、優惠券等。
zheng-wechat-app--微信小程序後臺
zheng-pay--一站式支付解決方案,統一下單接口,支持支付寶、微信、網銀等多種支付方式。不涉及業務的純粹的支付平臺。
zheng-api--服務網關,對外暴露統一規範的接口和包裝響應結果,包括各個子系統的交互接口、對外開放接口、開發加密接口、接口文檔等服務,可在該模塊支持驗籤、鑑權、路由、限流、監控、容錯、日誌等功能。
然後打開IDEA---->File---->New---->Module from Existing Sources導入一個存在的Module
然後點擊Finsh.導入成功之後,如下:
找到每個項目的跟pom.xml更新下依賴:
然後下載zheng-common中的依賴
三、環境搭建
要想成功運行項目,必須要安裝一下一些工具:
1、JDK
2、Mysql
3、maven
4、Redis
5、Zookeeper
6、ActiveMQ
7、Nginx
4、Redis安裝
至於JDK,Mysql,maven,的安裝太簡單了,這裏就不演示了,Redis安裝如下,去github下載最新的安裝包:https://github.com/MSOpenTech/redis/releases
下載Redis-x64-3.2.100-windows.msi安裝過程比較簡單,一路next就可以了。然後還得安裝Redis可視化工具Redis Desktop Manager下載地址如下:https://redisdesktop.com/download
選擇最新的版本進行下載、下載之後,然後進行安裝
安裝之後,打開軟件
這裏要登錄密碼,由於我裝的是安裝版,以下是設置密碼,在CMD下:
5、Zookeeper安裝
首先去官網下載:http://www.apache.org/dyn/closer.cgi/zookeeper/
選擇3.5.2版本。
6、ActiveMQ
官網下載地址爲:http://activemq.apache.org/download-archives.html 選擇最新版本進行下載
這裏選擇5.9.0版本進行下載。
7、Nginx
官網下載地址爲:http://nginx.org/
四、運行項目
A.後臺啓動順序:
(一)、初始化數據庫
下面就是啓動項目了,在啓動項目前還得準備下,首先新建zheng數據庫
導入project-datamodel文件夾下的zheng.sql
工具使用的是navicat for premium
導入成功之後,有如下表
(二)、數據庫連接配置工作
修改各模塊下profiles的數據庫連接等配置信息
有如下一些module下有這些配置文件
像如下這種密碼使用了AES加密,使用com.zheng.common.util.AESUtil工具類修改這些值
在zheng-upms中有個generator.properties
AESUtil使用如下,替換其中的root爲數據庫密碼,然後運行就會有以下信息輸出:
比如我這裏redis和mysql都是root,所有我把密碼修改成如下的密碼:
(三)、修改本地Host
進入到"C:\Windows\System32\drivers\etc"目錄下:
(四)、啓動並運行相關程序工作
我把有關的工具都解壓到該目錄下了:
1.啓動Zookeeper
進入到zookeeper的bin目錄,雙擊zkServer.cmd啓動服務。
啓動成功之後,輸入信息如下:
2、啓動ActiveMQ:
1)進入MQ的bin目錄D:\zheng_start\apache-activemq-5.9.0-bin\apache-activemq-5.9.0\bin\win64,雙擊activemq.bat
啓動成功之後
2)在瀏覽器中輸入http://localhost:8161/admin/輸入默認的admin admin
3)出現這樣的界面則MQ安裝成功。
3、啓動Nginx
在zheng/project-tools/nginx下提供了ngxin的一些配置
將這兩個文件複製到nginx/conf下
修改其中的項目路徑:
或者可以直接修改nginx.conf爲如下內容:
然後在CMD下執行nginx.exe
或者可以在該目錄下新建一個nginx.bat文件內容如下:
運行效果如下:
4、啓動Tomcat
在tomcat中部署dubbo應用。這裏用的是2.5.4,可從這下載:http://download.csdn.net/download/u011781521/10197867 下載之後解壓,刪除Tomcat目錄下的ROOT目錄,然後複製dubbo中的ROOT到該目錄下:
然後修改下tomcat的默認端口以防止和下面的jetty衝突,最後在D:\zheng_start\apache-tomcat-8.0.45\bin目錄下執行startup.bat啓動tomcat,成功之後輸出如下:
訪問tomcat的dubbo後臺: localhost:8089 用戶名與密碼都是root
5、啓動Service
首先啓動 zheng-upms-rpc-service(直接運行src目錄下的ZhengUpmsRpcServiceApplication#main方法啓動)
啓動成功之後如下:
6、啓動Web服務
打開Maven視圖
debug運行jetty。然後按需啓動對應子系統xxx的zheng-xxx-rpc-service(main方法) => zheng-xxx-webapp(jetty)
然後在dubbo管控臺上就會有一些服務已經註冊了
7、訪問頁面
然後訪問 http://upms.zhangshuzheng.cn:1111/,子系統菜單已經配置到zheng-upms權限中,不用直接訪問子系統,默認帳號密碼:admin/123456
B、zheng-cms啓動
zheng-cms-admin:啓動ActiveMQ-啓動 => 啓動zheng-rpc-service => 啓動zheng-cms-admin
zheng-cms-web:啓動nginx代理zheng-ui靜態資源,然後訪問: http://upms.zhangshuzheng.cn:1111
切換到CMS系統
此時訪問CMS首頁: http://cms.zhangshuzheng.cn:2224/