CentOS7下安裝Disconf

#轉載地址:https://blog.csdn.net/fengyao1995/article/details/66491226  

# 親測可用,只不過要稍作修改;nginx配置文件要調整,及redis不能有auth,zookeeper可以用單節點,總的磊說博主可以的;

Disconf是一個分佈式配置管理平臺,用於管理分佈式系統配置文件。分佈式系統越來越流行,隨着節點的增加,配置文件修改起來也越來越困難,百度的分佈式配置管理平臺由此而生。它能夠統一管理各個節點的配置文件,統一配置和修改。


安裝Disconf需要的環境


  安裝Linux:CentOS7

  安裝Zookeeper:zookeeper-3.4.6

  安裝Redis:redis-3.0.0

  安裝Nginx:nginx-1.8.0

  安裝MySQL:mysql-community-release-el6-5.noarch.rpm

  安裝Tomcat:apache-tomcat-8.0.28

  Disconf進行構建時需要maven命令,所以需要安裝Maven。

  安裝Maven的命令:

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

yum -y install apache-maven

如果提示沒有wget命令,則用下面的命令來安裝該命令:

yum install wget –y


準備配置和構建


1、創建文件夾


(以下的文件夾路徑讀者可自行設置!)

配置文件所在路徑:

/usr/local/disconf/resource

 

源碼所在路徑:

/usr/local/disconf/src

 

War包所在路徑:

/usr/local/disconf/war

 

創建好的文件夾結構如下圖所示:



2、下載源碼


進入到disconf/src下,在GitHub上面直接下載源碼,利用下面的命令:

cd /usr/local/disconf/src

git clone https://github.com/knightliao/disconf.git

如果提示沒有git命令,執行下面的命令安裝git命令:

yum install git -y


3、拷貝配置文件


  將/usr/local/disconf/src/disconf/disconf-web/profile/rd路徑下的配置文件拷貝到/usr/local/disconf/resource(要將application-demo.properties文件改名爲application.properties),並修改相應的配置文件。

拷貝命令:

 

cd /usr/local/disconf/src/disconf/disconf-web/profile/rd

cp * /usr/local/disconf/resource

cd /usr/local/disconf/resource

mv ./application-demo.properties ./application.properties




4、修改相應的配置文件


這些配置文件修改後,都需要重新進行系統構建。

jdbc-mysql.properties(數據庫的配置):

  將mysql的連接地址、用戶名和密碼改爲相應數據庫的信息。


redis-config.properties(配置redis的地址):

  修改相應的host和port,如果redis是集羣,可配置相應的節點;如果redis是單機版,也必須配置兩個redis-client(否則會報錯),兩個redis-client配置相同的host和port即可。


zoo.properties(zookeeper的地址配置):

  將Zookeeper集羣的ip和端口號配置在hosts屬性中即可,各節點地址之間用英文逗號隔開,其他不用修改。


日誌文件的配置可以不用修改,如需修改參考網上log4j配置文件修改方式修改即可。


5、修改環境變量


修改環境變量,將創建的配置文件的路徑和war包的路徑配置在環境變量中。

vi /etc/profile

按“i”開啓編輯,將下面的內容添加到環境變量的最後面:

ONLINE_CONFIG_PATH=/usr/local/disconf/resource

WAR_ROOT_PATH=/usr/local/disconf/war

export ONLINE_CONFIG_PATH

export WAR_ROOT_PATH

按Esc結束編輯,使用“:x”命令退出,利用下面的命令使環境變量生效:

source /etc/profile



6、構建


進入到disconf-web路徑下,修改其pom文件:

cd /usr/local/disconf/src/disconf/disconf-web

vi pom.xml

將一下內容加入到pom文件的profiles結點下,如果JDK的版本低於1.8,則此步驟不需要執行:

<profile>

    <id>doclint-java8-disable</id>

    <activation>

      <jdk>[1.8,)</jdk>

    </activation>

    <build>

      <plugins>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-javadoc-plugin</artifactId>

          <configuration>

            <additionalparam>-Xdoclint:none</additionalparam>

          </configuration>

        </plugin>

      </plugins>

    </build>

  </profile>

如下圖所示:


利用deploy/deploy.sh進行構建,構建過程會download很多東西,可能會有些慢,虛擬機要一直保持能上網的狀態:

cd /usr/local/disconf/src/disconf/disconf-web

sh deploy/deploy.sh

構建完成後,在war目錄下會生成相應的內容,主要的是加粗的那幾項:



上線前的初始化工作


1、初始化數據庫


  在/usr/local/disconf/src/disconf/disconf-web/sql目錄下有sql文件,將這些sql文件初始化到數據庫中。這四個sql文件的執行是有順序的,按照sql/readme.md文件中的順序執行。

  0-init_table.sql

  1-init_data.sql

  201512/20151225.sql

  20160701/20160701.sql


2、配置Tomcat


將構建時打成的war包部署到Tomcat中,需要修改Tomcat的server.xml文件,在Host節點下設定Context:

<Context path="" docBase="/usr/local/disconf/war"></Context>




3、部署前端


修改nginx.conf文件,將下面的內容添加進去:

upstream disconf {

    server 127.0.0.1:8085;#Tomcat的IP和端口號,這裏改成了8085

}

 

server {

    listen   8080;#nginx監聽的端口號

    server_name disconf.com;#可自行定義,但必須與application.properties中的domain屬性的值一樣

    access_log /home/work/var/logs/disconf/access.log;

    error_log /home/work/var/logs/disconf/error.log;

 

    location / {

        root /usr/local/disconf/war/html;#html所在的路徑

        if ($query_string) {

            expires max;

        }

}

 

    location ~ ^/(api|export) {

        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;

    }

}

本人的是如下;因爲發現原博主的匹配符不正確,故作如下修改

upstream disconf {

    server 127.0.0.1:8080;#Tomcat的IP和端口號,這裏改成了8085

}
server {

    listen   8087;#nginx監聽的端口號

    server_name disconf.com;#可自行定義,但必須與application.properties中的domain屬性的值一樣

    access_log /usr/local/nginx/logs/access.log;

    error_log /usr/local/nginx/logs/error.log;

 

    location / {

        root /alex/data/disconf/war/html;#html所在的路徑

}
#^~ /API/ 
    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;

    }
}  

運行效

主頁面:

登錄頁面(默認用戶名和密碼:admin/admin):


操作主界面:



總結


  安裝過程中,在構建時遇到了缺少jar包的問題,因爲當時安裝maven時,是採用的安裝tar文件。後來將maven的安裝過程改爲了在線安裝,也就是上面文檔中的安裝方式,該問題就不存在了。具體原因正在研究,過路的各位大牛如果有解決方案,麻煩在評論中告知,謝謝。

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