一、項(xiàng)目簡(jiǎn)介
?
17年初就接觸了zheng這個(gè)項(xiàng)目,感覺挺牛的,看他的架構(gòu)圖就知道了
現(xiàn)在都已經(jīng)18年了,時(shí)間好快,特此記錄下zheng的環(huán)境搭建,雖然,先看下碼云上zheng的簡(jiǎn)介吧:https://gitee.com/shuzheng/zheng。
zheng是基于Spring+SpringMVC+Mybatis分布式敏捷開發(fā)系統(tǒng)架構(gòu),提供整套公共微服務(wù)服務(wù)模塊:集中權(quán)限管理(單點(diǎn)登錄)、內(nèi)容管理、支付中心、用戶管理(支持第三方登錄)、微信平臺(tái)、存儲(chǔ)系統(tǒng)、配置中心、日志分析、任務(wù)和通知等,支持服務(wù)治理、監(jiān)控和追蹤,努力為中小型企業(yè)打造全方位J2EE企業(yè)級(jí)開發(fā)解決方案。
?
二、導(dǎo)入項(xiàng)目
?
導(dǎo)入項(xiàng)目的方式有兩種,一種是通過git,一種是直接下載源碼然后導(dǎo)入到IDEA中,我這里以下載源碼來演示,下載之后的源碼如下:
有如下一些模塊:
?
zheng-common--公共配置、MybatisGenerator擴(kuò)展插件、通用BaseService、工具類等
zheng-admin--通用后臺(tái)管理系統(tǒng),zheng項(xiàng)目所有后臺(tái)系統(tǒng)都是使用該模塊界面作為前端展示。
zheng-ui--各個(gè)子系統(tǒng)前臺(tái)thymeleaf模板,前端資源模塊,使用nginx代理,實(shí)現(xiàn)動(dòng)靜分離。
zheng-upms--基于RBAC授權(quán)和基于用戶授權(quán)的細(xì)粒度權(quán)限控制通用平臺(tái),并提供單點(diǎn)登錄、會(huì)話管理和日志管理。
zheng-cms--內(nèi)容管理系統(tǒng)
zheng-oss--文件存儲(chǔ)系統(tǒng)
zheng-ucenter--通用用戶管理系統(tǒng), 實(shí)現(xiàn)最常用的用戶注冊(cè)、登錄、資料管理、個(gè)人中心、第三方登錄等基本需求,支持?jǐn)U展二次開發(fā)。
zheng-wechat-mp--微信公眾號(hào)管理平臺(tái),除實(shí)現(xiàn)官網(wǎng)后臺(tái)自動(dòng)回復(fù)、菜單管理、素材管理、用戶管理、消息群發(fā)等基礎(chǔ)功能外,還有二維碼推廣、營(yíng)銷活動(dòng)、微網(wǎng)站、會(huì)員卡、優(yōu)惠券等。
zheng-wechat-app--微信小程序后臺(tái)
zheng-pay--一站式支付解決方案,統(tǒng)一下單接口,支持支付寶、微信、網(wǎng)銀等多種支付方式。不涉及業(yè)務(wù)的純粹的支付平臺(tái)。
zheng-api--服務(wù)網(wǎng)關(guān),對(duì)外暴露統(tǒng)一規(guī)范的接口和包裝響應(yīng)結(jié)果,包括各個(gè)子系統(tǒng)的交互接口、對(duì)外開放接口、開發(fā)加密接口、接口文檔等服務(wù),可在該模塊支持驗(yàn)簽、鑒權(quán)、路由、限流、監(jiān)控、容錯(cuò)、日志等功能。
?
然后打開IDEA---->File---->New---->Module from Existing Sources導(dǎo)入一個(gè)存在的Module
然后點(diǎn)擊Finsh.導(dǎo)入成功之后,如下:
找到每個(gè)項(xiàng)目的跟pom.xml更新下依賴:
然后下載zheng-common中的依賴
三、環(huán)境搭建
?
要想成功運(yùn)行項(xiàng)目,必須要安裝一下一些工具:
1、JDK
2、Mysql
3、maven
4、Redis
5、Zookeeper
6、ActiveMQ
7、Nginx
?
4、Redis安裝
?
至于JDK,Mysql,maven,的安裝太簡(jiǎn)單了,這里就不演示了,Redis安裝如下,去github下載最新的安裝包:https://github.com/MSOpenTech/redis/releases
下載Redis-x64-3.2.100-windows.msi安裝過程比較簡(jiǎn)單,一路next就可以了。然后還得安裝Redis可視化工具Redis Desktop Manager下載地址如下:https://redisdesktop.com/download
?
選擇最新的版本進(jìn)行下載、下載之后,然后進(jìn)行安裝
安裝之后,打開軟件
這里要登錄密碼,由于我裝的是安裝版,以下是設(shè)置密碼,在CMD下:
?
[java]?view plain?copy
config?get?requirepass?//獲取當(dāng)前密碼??config?set?requirepass?"root"//設(shè)置當(dāng)前密碼,服務(wù)重新啟動(dòng)后又會(huì)置為默認(rèn),即無密碼;不建議此種方式??
?
5、Zookeeper安裝
?
首先去官網(wǎng)下載:http://www.apache.org/dyn/closer.cgi/zookeeper/
?
選擇3.5.2版本。
?
6、ActiveMQ
?
官網(wǎng)下載地址為:http://activemq.apache.org/download-archives.html?選擇最新版本進(jìn)行下載
這里選擇5.9.0版本進(jìn)行下載。
?
7、Nginx
?
官網(wǎng)下載地址為:http://nginx.org/
四、運(yùn)行項(xiàng)目
?
A.后臺(tái)啟動(dòng)順序:
?
(一)、初始化數(shù)據(jù)庫
?
下面就是啟動(dòng)項(xiàng)目了,在啟動(dòng)項(xiàng)目前還得準(zhǔn)備下,首先新建zheng數(shù)據(jù)庫
導(dǎo)入project-datamodel文件夾下的zheng.sql
工具使用的是navicat for premium
導(dǎo)入成功之后,有如下表
(二)、數(shù)據(jù)庫連接配置工作
?
修改各模塊下profiles的數(shù)據(jù)庫連接等配置信息
有如下一些module下有這些配置文件
像如下這種密碼使用了AES加密,使用com.zheng.common.util.AESUtil工具類修改這些值
在zheng-upms中有個(gè)generator.properties
AESUtil使用如下,替換其中的root為數(shù)據(jù)庫密碼,然后運(yùn)行就會(huì)有以下信息輸出:
比如我這里redis和mysql都是root,所有我把密碼修改成如下的密碼:
?
(三)、修改本地Host
?
進(jìn)入到"C:\Windows\System32\drivers\etc"目錄下:
?
[java]?view plain?copy
127.0.0.1?ui.zhangshuzheng.cn??127.0.0.1?upms.zhangshuzheng.cn??127.0.0.1?cms.zhangshuzheng.cn??127.0.0.1?pay.zhangshuzheng.cn??127.0.0.1?ucenter.zhangshuzheng.cn??127.0.0.1?wechat.zhangshuzheng.cn??127.0.0.1?api.zhangshuzheng.cn??127.0.0.1?oss.zhangshuzheng.cn??127.0.0.1?config.zhangshuzheng.cn??127.0.0.1?zkserver??127.0.0.1?rdserver??127.0.0.1?dbserver??127.0.0.1?mqserver??
?
(四)、啟動(dòng)并運(yùn)行相關(guān)程序工作
?
?
我把有關(guān)的工具都解壓到該目錄下了:
?
1.啟動(dòng)Zookeeper
?
進(jìn)入到zookeeper的bin目錄,雙擊zkServer.cmd啟動(dòng)服務(wù)。
啟動(dòng)成功之后,輸入信息如下:
2、啟動(dòng)ActiveMQ:
1)進(jìn)入MQ的bin目錄D:\zheng_start\apache-activemq-5.9.0-bin\apache-activemq-5.9.0\bin\win64,雙擊activemq.bat
啟動(dòng)成功之后
?
2)在瀏覽器中輸入http://localhost:8161/admin/輸入默認(rèn)的admin admin
3)出現(xiàn)這樣的界面則MQ安裝成功。
3、啟動(dòng)Nginx
?
在zheng/project-tools/nginx下提供了ngxin的一些配置
將這兩個(gè)文件復(fù)制到nginx/conf下
修改其中的項(xiàng)目路徑:
?
?
或者可以直接修改nginx.conf為如下內(nèi)容:
?
[html]?view plain?copy
#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;????????server?{??????????#監(jiān)聽的端口號(hào),配置這里訪問的時(shí)候?yàn)g覽器里可以訪問http://localhost:1000/zheng-cms-web/測(cè)試是否能看到頁面內(nèi)容(沒有直接訪問http://localhost:1000,因?yàn)檫@個(gè)路徑zheng-ui下沒有index.html之類的文件,會(huì)出現(xiàn)訪問錯(cuò)誤提示,不好作為判定是否nginx啟動(dòng)配置成功的標(biāo)志)??????????listen???????1000;??????????server_name??localhost;????????????#charset?koi8-r;????????????#access_log??logs/host.access.log??main;????????????location?/?{??????????#root后面內(nèi)容需要修改為本機(jī)的zheng-ui項(xiàng)目的絕對(duì)路徑位置??????????????root???F:/GitHub/zheng/zheng-ui/;??????????????index??index.html?index.htm;??????????????add_header?Access-Control-Allow-Origin?*;??????????}????????????#error_page??404??????????????/404.html;????????????#?redirect?server?error?pages?to?the?static?page?/50x.html??????????#??????????error_page???500?502?503?504??/50x.html;??????????location?=?/50x.html?{??????????????root???html;??????????}????????????#?proxy?the?PHP?scripts?to?Apache?listening?on?127.0.0.1:80??????????#??????????#location?~?\.php$?{??????????#????proxy_pass???http://127.0.0.1;??????????#}????????????#?pass?the?PHP?scripts?to?FastCGI?server?listening?on?127.0.0.1:9000??????????#??????????#location?~?\.php$?{??????????#????root???????????html;??????????#????fastcgi_pass???127.0.0.1:9000;??????????#????fastcgi_index??index.php;??????????#????fastcgi_param??SCRIPT_FILENAME??/scripts$fastcgi_script_name;??????????#????include????????fastcgi_params;??????????#}????????????#?deny?access?to?.htaccess?files,?if?Apache's?document?root??????????#?concurs?with?nginx's?one??????????#??????????#location?~?/\.ht?{??????????#????deny??all;??????????#}??????}??????????#?another?virtual?host?using?mix?of?IP-,?name-,?and?port-based?configuration??????#??????#server?{??????#????listen???????8000;??????#????listen???????somename:8080;??????#????server_name??somename??alias??another.alias;????????#????location?/?{??????#????????root???html;??????#????????index??index.html?index.htm;??????#????}??????#}??????????#?HTTPS?server??????#??????#server?{??????#????listen???????443?ssl;??????#????server_name??localhost;????????#????ssl_certificate??????cert.pem;??????#????ssl_certificate_key??cert.key;????????#????ssl_session_cache????shared:SSL:1m;??????#????ssl_session_timeout??5m;????????#????ssl_ciphers??HIGH:!aNULL:!MD5;??????#????ssl_prefer_server_ciphers??on;????????#????location?/?{??????#????????root???html;??????#????????index??index.html?index.htm;??????#????}??????#}????}??
?
?
然后在CMD下執(zhí)行nginx.exe
或者可以在該目錄下新建一個(gè)nginx.bat文件內(nèi)容如下:
?
[html]?view plain?copy
@echo?off??rem?zheng-tools??rem?author:?shuzheng?http://www.zhangshuzheng.cn??rem?GitHub:?https://github.com/shuzheng??rem?OsChina:?http://git.oschina.net/shuzheng/zheng????echo?==================begin========================????cls???SET?NGINX_PATH=D:??SET?NGINX_DIR=D:\自己的nginx安裝路徑\nginx-1.11.4\???color?0a???TITLE?zheng-tools?Power?By?shuzheng?(http://www.zhangshuzheng.cn)????CLS?????ECHO.???ECHO.????********************************************************************??ECHO.????*??????????????????????????????????????????????????????????????????*??ECHO.????*??????????????????????????????????????????????????????????????????*??ECHO.????*???zheng-tools?Power?By?shuzheng?(http://www.zhangshuzheng.cn)????*??ECHO.????*??????????????????????????????????????????????????????????????????*??ECHO.????*??????????????????????????????????????????????????????????????????*??ECHO.????********************************************************************??ECHO.?????:MENU?????ECHO.----------------------------?nginx?進(jìn)程列表?--------------------------------??tasklist|findstr?/i?"nginx.exe"??if?ERRORLEVEL?1?(echo?nginx未啟動(dòng))?else?(echo?nginx已啟動(dòng))??ECHO.----------------------------------------------------------------------------??????ECHO.???????ECHO.??[1]?啟動(dòng)Nginx????????ECHO.??[2]?關(guān)閉Nginx????????ECHO.??[3]?重啟Nginx????????ECHO.??[4]?退?出???ECHO.?????ECHO.請(qǐng)輸入選擇項(xiàng)目的序號(hào):??set?/p?ID=??????IF?"%id%"=="1"?GOTO?start???????IF?"%id%"=="2"?GOTO?stop???????IF?"%id%"=="3"?GOTO?restart???????IF?"%id%"=="4"?EXIT??PAUSE?????:start???????call?:startNginx??????ECHO.============================================================================??????ECHO.???????ECHO.???????GOTO?MENU????:stop???????call?:shutdownNginx??????ECHO.============================================================================??????ECHO.???????ECHO.???????GOTO?MENU??:restart???????call?:shutdownNginx??????call?:startNginx??????ECHO.============================================================================??????ECHO.???????ECHO.???????GOTO?MENU????:shutdownNginx??????ECHO.???????ECHO.關(guān)閉Nginx......???????taskkill?/F?/IM?nginx.exe?>?nul??????ECHO.OK,關(guān)閉所有nginx?進(jìn)程??????goto?:eof????:startNginx??????ECHO.???????ECHO.啟動(dòng)Nginx......???????IF?NOT?EXIST?"%NGINX_DIR%nginx.exe"?ECHO?"%NGINX_DIR%nginx.exe"不存在?????????%NGINX_PATH%?????????cd?"%NGINX_DIR%"?????????IF?EXIST?"%NGINX_DIR%nginx.exe"?(??????????echo?"start?''?nginx.exe"??????????start?""?nginx.exe??????)??????ECHO.OK??????goto?:eof??
運(yùn)行效果如下:
?
?
4、啟動(dòng)Tomcat
?
在tomcat中部署dubbo應(yīng)用。這里用的是2.5.4,可從這下載:http://download.csdn.net/download/u011781521/10197867?下載之后解壓,刪除Tomcat目錄下的ROOT目錄,然后復(fù)制dubbo中的ROOT到該目錄下:
?
?
然后修改下tomcat的默認(rèn)端口以防止和下面的jetty沖突,最后在D:\zheng_start\apache-tomcat-8.0.45\bin目錄下執(zhí)行startup.bat啟動(dòng)tomcat,成功之后輸出如下:
?
?
訪問tomcat的dubbo后臺(tái): localhost:8089 用戶名與密碼都是root
?
?
5、啟動(dòng)Service
?
首先啟動(dòng) zheng-upms-rpc-service(直接運(yùn)行src目錄下的ZhengUpmsRpcServiceApplication#main方法啟動(dòng))
啟動(dòng)成功之后如下:
?
6、啟動(dòng)Web服務(wù)
?
打開Maven視圖
?
debug運(yùn)行jetty。然后按需啟動(dòng)對(duì)應(yīng)子系統(tǒng)xxx的zheng-xxx-rpc-service(main方法) => zheng-xxx-webapp(jetty)
然后在dubbo管控臺(tái)上就會(huì)有一些服務(wù)已經(jīng)注冊(cè)了
?
?
7、訪問頁面
?
然后訪問?http://upms.zhangshuzheng.cn:1111/,子系統(tǒng)菜單已經(jīng)配置到zheng-upms權(quán)限中,不用直接訪問子系統(tǒng),默認(rèn)帳號(hào)密碼:admin/123456
?
B、zheng-cms啟動(dòng)
?
zheng-cms-admin:啟動(dòng)ActiveMQ-啟動(dòng) => 啟動(dòng)zheng-rpc-service => 啟動(dòng)zheng-cms-admin
?
?
zheng-cms-web:啟動(dòng)nginx代理zheng-ui靜態(tài)資源,然后訪問:?http://upms.zhangshuzheng.cn:1111
?
?
切換到CMS系統(tǒng)
?
?
此時(shí)訪問CMS首頁:?http://cms.zhangshuzheng.cn:2224/
?
轉(zhuǎn)載來自:http://blog.csdn.net/u011781521/article/details/79012311
總結(jié)
以上是生活随笔為你收集整理的【经典】zheng项目搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。