Disconf(二)disconf-web

Disconf(二)disconf-web

一.介紹

disconf-web:提供了前後端分離的web架構

分佈式配置Web平臺服務 模塊

推薦使用最新的Chrome或Firefox瀏覽.

注:由於迭代開發快速多變的原因,當前UI可能與下圖略有改變。

二.開放API

三.搭取後的運行界面



Start deploying

一.安裝依賴軟件

二.下載源碼:https://github.com/knightliao/disconf

一共分爲三個模塊:

  • disconf-client是客戶端代碼

  • disconf-core是核心模塊

  • disconf-web是disconf的頁面管理控制檯

本部分重點介紹disconf-web,優先部署disconf-web

三.準備配置

將配置文件放到此地址目錄下(地址可以自行定):E:\learn\disconf\home\work\dsp\disconf-rd\online-resources

配置文件清單:

<span style="font-family:FangSong_GB2312;font-size:14px;">- jdbc-mysql.properties (數據庫配置)
- redis-config.properties (Redis配置)
- zoo.properties (Zookeeper配置)
- application.properties (應用配置</span>
注意,記得執行將application-demo.properties複製成application.properties:
設置War包將要被部署的地址(地址可自行設定):E:\learn\disconf\home\work\dsp\disconf-rd\war

構建

ONLINE_CONFIG_PATH=/home/work/dsp/disconf-rd/online-resources
WAR_ROOT_PATH=/home/work/dsp/disconf-rd/war
export ONLINE_CONFIG_PATH
export WAR_ROOT_PATH
cd disconf-web
sh deploy/deploy.sh
生成結果:E:\learn\disconf\home\work\dsp\disconf-rd\war

-disconf-web.war  
-html  
-META-INF  
-WEB-INF
-temp
初始化數據庫:

可以參考 sql/readme.md 來進行數據庫的初始化。注意順序執行 0-init_table.sql
1-init_data.sql
201512/20151225.sql

裏面默認有6個用戶(請注意線上環境刪除這些用戶以避免潛在的安全問題

name pwd
admin admin
testUser1 MhxzKhl9209
testUser2 MhxzKhl167
testUser3 MhxzKhl783
testUser4 MhxzKhl8758
testUser5 MhxzKhl112


如果想自己設置初始化的用戶信息,可以參考代碼來自己生成用戶:

src/main/java/com/baidu/disconf/web/tools/UserCreateTools.java

部署War

修改server.xml文件,在Host結點下設定Context:

使用默認端口8080,並指定路徑


<span style="font-family:Microsoft YaHei;font-size:14px;"> <Context path="/disconf" docBase="E:/learn/disconf/home/work/dsp/disconf-rd/war"/></span>

啓動Tomcat,即可


部署前端Nginx

修改nginx.conf

Server-80.config

<span style="font-family:Microsoft YaHei;font-size:14px;">   server {
			listen       8150;
			server_name  localhost; 
			#charset koi8-r;

			 #access_log /learn/disconf/home/work/var/logs/disconf/access.log;
			 #error_log /learn/disconf/home/work/var/logs/disconf/error.log;
location /api { 
      proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        #proxy_pass http://disconf;
	proxy_pass http://127.0.0.1:8080/disconf/api;
	add_header From disconf;
	proxy_cookie_path /disconf/ /;
	proxy_set_header Cookie $http_cookie;
				
                        } 
			
 location / {
          root   E:\learn\disconf\home\work\dsp\disconf-rd\war\html;    
          index index.php index.html index.htm;   #定義首頁索引文件的名稱
           
        }
</span>

業務功能

  • 支持用戶登錄/登出
  • 瀏覽配置
    • 按 APP/版本/環境 選擇
  • 修改配置
    • 修改配置項
    • 修改配置文件
  • 新建配置
    • 新建配置項
    • 新建配置文件
    • 新建APP

架構方案

Nginx(處理靜態請求) + Tomcat(處理動態請求)

  • 後端
    • SpringMvc(3.1.2+)
    • Jdbc-Template
    • Mysql
    • RestFul API
    • Redis for user login/logout
    • H2內存數據庫測試方案/Junit/SpringTest
  • 前端
    • HTML
    • Jquery(1.10.4):JS工具集合
    • Bootstrap(2.3.2):界面UI
    • Node(ejs/fs/eventproxy): 用於前端的HTML的模板化管理
  • 前後端接口(前後端分離)
    • 完全Ajax接口
    • JSON
    • RestFul API

參見:https://github.com/knightliao/disconf/tree/master/disconf-web


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章