- 一、安装Disconf需要的环境
- Linux 使用yum命令安装mysql
- 安装部署jdk
- 安装部署zookeeper
- 安装Redis
- 安装Maven
- 上线前的初始化工作
- 安装tomcat
- 安装nginx
- 运行效果
- 二、部署dubbo-admin
本篇文章自带zk的安装已经redis最简单的主从
需要安装Nginx、Tomcat、Zookeeper、Redis和MySQL。
Nginx:处理静态资源请求、动态请求转发到Tomcat
Tomcat:处理Nginx的请求
Zookeeper:管理Disconf配置信息,配置变更通过zk通知
Redis:用户session管理
MySQL:应用管理、用户管理、角色管理、环境管理、配置持久化
Git:从Github拉取disoncf的代码
Maven:用来把代码编译成war包
JDK:Maven运行的基础环境
我把包都放在/opt下了
这里为了快一点我直接用Yum安装mysql了 1、先查看是否安装mysql [root@wyw opt]# rpm -qa|grep mysql* [root@wyw opt]# yum list installed mysql* 2、查看有没有安装包 [root@wyw opt]# yum list mysql* 3、安装mysql客户端 [root@wyw opt]# yum install mysql
接着上面来 4、安装mysql服务端 [root@wyw opt]# yum install mysql-server 注意:此处错误提示为安装失败。 原因:CentOS7自带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库 解决方案:如果必须要安装MySQL,首先必须添加mysql社区repo通过输入命令:sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
执行完后,则继续执行:yum install mysql-server
[root@wyw opt]# yum install mysql-devel
systemctl start mysqld 5、创建root管理员 mysqladmin -u root password 密码安装部署jdk
包以及提前上传 1、解压 [root@wyw opt]# tar xf jdk-8u91-linux-x64.tar.gz 2、移动到该路径 [root@wyw opt]# mv jdk1.8.0_91/ /usr/local/java 3、优化环境变量 [root@wyw opt]# vim /etc/profile JAVA_HOME=/usr/local/java PATH=$JAVA_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar export PATH JAVA_HOME CLASSPATH [root@wyw opt]# source /etc/profile [root@wyw opt]# java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) ln -s /usr/local/java/bin/java /usr/bin/java安装部署zookeeper
解压:tar xf zookeeper-3.4.10.tar.gz
进入目录后创建data目录:
cd zookeeper-3.4.10
mkdir data
进入conf文件夹: cd conf/ 将zoo_sample.cfg复制一份并重命名为zoo.cfg: cp zoo_sample.cfg zoo.cfg 修改zoo.cfg中dataDir路径为刚刚创建的data: vim zoo.cfg
进入bin目录: cd ../bin/ 启动zkServer.sh: ./zkServer.sh start安装Redis
1、下载Redis源码包,Redis官网
2、解压安装
[root@wyw opt]# tar xf redis-5.0.4.tar.gz [root@wyw opt]# cd redis-5.0.4 make make install #安装后在/usr/local/bin会有redis的脚本 [root@wyw opt]# mkdir redis [root@wyw opt]# cd redis [root@wyw redis]# mkdir bin [root@wyw redis]# mkdir conf [root@wyw redis]# cd .. [root@wyw opt]# cd redis-5.0.4 [root@wyw redis-5.0.4]# ls 00-RELEASENOTES BUGS CONTRIBUTING COPYING deps INSTALL Makefile MANIFESTO README.md redis.conf runtest runtest-cluster runtest-sentinel sentinel.conf src tests utils [root@wyw redis-5.0.4]# cp redis.conf /opt/redis/conf/ [root@wyw redis-5.0.4]# cd /opt/redis/conf/ [root@wyw conf]# ls redis.conf [root@wyw conf]# cp redis.conf 6380.conf [root@wyw conf]# mv redis.conf 6379.conf
3、把前面编译后的redis的可执行文件(在redis-5.0.4/src/下),复制到/opt/redis/bin里面去
cp redis* /opt/redis/bin/ cd /opt/redis/bin sudo rm *.c sudo rm *.o sudo rm *.h
4、修改配置文件
vi 6379.conf
修改如下
bind 192.168.100.105
daemonize yes
vi 6380.conf
修改6380.conf
修改对应的端口和pid配置
然后加入slaveof 127.0.0.1 6379
port 6379
修改为:
port 6380
pidfile /usr/local/redis/redis_6379.pid
修改为:
pidfile /usr/local/redis/redis_6380.pid
增加一行:
slaveof 127.0.0.1 6379
[root@wyw bin]# ./redis-cli -h 192.168.100.105 -p 6379
192.168.100.105:6379> info
解压 [root@wyw opt]# tar xf apache-maven-3.5.4-bin.tar.gz [root@wyw opt]# mv apache-maven-3.5.4 maven [root@wyw opt]# ln -s maven/bin/mvn /usr/bin/mvn 优化执行路径 vim /etc/profile export MAVEN_HOME=/opt/maven export PATH=$PATH:$MAVEN_HOME/bin [root@wyw opt]# source /etc/profile
前提必须要做的一些事情: 1、创建文件夹 (以下的文件夹路径读者可自行设置!) 配置文件所在路径: /opt/disconf/resource 源码所在路径: /opt/disconf/src War包所在路径: /opt/disconf/war 2、下载源码 进入到disconf/src下,在GitHub上面直接下载源码,利用下面的命令: cd /opt/disconf/src git clone https://github.com/knightliao/disconf.git 3、拷贝配置文件 将/opt/disconf/src/disconf/disconf-web/profile/rd路径下的配置文件拷贝到/opt/disconf/resource(要将application-demo.properties文件改名为application.properties),并修改相应的配置文件。 拷贝命令: cd /opt/disconf/src/disconf/disconf-web/profile/rd cp * /opt/disconf/resource cd /opt/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即可。
redis.group1.retry.times=2 redis.group1.client1.name=root redis.group1.client1.host=192.168.100.105 redis.group1.client1.port=6379 redis.group1.client1.timeout=5000 redis.group1.client1.password=root redis.group1.client2.name=root redis.group1.client2.host=192.168.100.105 redis.group1.client2.port=6380 redis.group1.client2.timeout=5000 redis.group1.client2.password=root redis.evictor.delayCheckSeconds=300 redis.evictor.checkPeriodSeconds=30 redis.evictor.failedTimesToBeTickOut=6
zoo.properties(zookeeper的地址配置):
将Zookeeper集群的ip和端口号配置在hosts属性中即可,各节点地址之间用英文逗号隔开,其他不用修改。
hosts=192.168.100.105:2181
# zookeeperu7684u524Du7F00u8DEFu5F84u540D
zookeeper_url_prefix=/disconf
5、修改环境变量
修改环境变量,将创建的配置文件的路径和war包的路径配置在环境变量中。
vi /etc/profile 按“i”开启编辑,将下面的内容添加到环境变量的最后面: ONLINE_CONFIG_PATH=/opt/disconf/resource WAR_ROOT_PATH=/opt/disconf/war export ONLINE_CONFIG_PATH export WAR_ROOT_PATH 按Esc结束编辑,使用“:x”命令退出,利用下面的命令使环境变量生效: source /etc/profile
利用deploy/deploy.sh进行构建,构建过程会download很多东西,可能会有些慢,虚拟机要一直保持能上网的状态: cd /opt/disconf/disconf-stable/disconf-web sh deploy/deploy.sh上线前的初始化工作
在/opt/disconf/disconf-stable/disconf-web/sql目录下有sql文件,将这些sql文件初始化到数据库中。这四个sql文件的执行是有顺序的,按照sql/readme.md文件中的顺序执行。
mysql> source /opt/disconf/disconf-stable/disconf-web/sql/0-init_table.sql Query OK, 1 row affected (0.00 sec) Database changed Query OK, 0 rows affected (0.02 sec) Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.01 sec) mysql> source /opt/disconf/disconf-stable/disconf-web/sql/1-init_data.sql Query OK, 1 row affected (0.00 sec) Query OK, 16 rows affected (0.00 sec) Records: 16 Duplicates: 0 Warnings: 0 Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 Query OK, 72 rows affected (0.00 sec) Records: 72 Duplicates: 0 Warnings: 0 Query OK, 8 rows affected (0.00 sec) Records: 8 Duplicates: 0 Warnings: 0 mysql> source /opt/disconf/disconf-stable/disconf-web/sql/201512/20151225.sql Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> source /opt/disconf/disconf-stable/disconf-web/sql/20160701/20160701.sql Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> exit安装tomcat
解压 [root@wyw opt]# tar xf apache-tomcat-7.0.94.tar.gz [root@wyw opt]# cd apache-tomcat-7.0.94 [root@wyw apache-tomcat-7.0.94]# cd conf/ [root@wyw conf]# vim server.xml
cd ../bin ./startup.sh安装nginx
cd /opt [root@wyw opt]# yum -y install nginx-1.20.1-1.el7.ngx.x86_64.rpm 包我已经自己上传好
修改配置文件:
[root@wyw opt]# cd /etc/nginx/
[root@wyw nginx]# cp nginx.conf nginx.conf.bak
vim nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
upstream disconf {
#ip_hash;
server 127.0.0.1:8080;
}
server {
listen 8888;
server_name localhost;
access_log /etc/nginx/logs/disconf/access.log;
error_log /etc/nginx/logs/disconf/error.log;
location / {
root /opt/disconf/war/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;
}
}
}
systemctl start nginx
运行效果
登录页面(默认用户名和密码:admin/admin):
如果点击登录没用那么就可以使用如下命令试一试(123456换成自己密码) 这几条上去100%行具体那条忘记了 grant all on *.* to 'admin'@'%' identified by '123456' grant all privileges on *.* to 'admin'@'%' identified by '123456' UPDATE user SET `Host` = '%' WHERe `User` = 'root' LIMIT 1; flush privileges; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;二、部署dubbo-admin
我这里有一个已经打包好的现成的包
dubbo-admin.war 自己手动上传
[root@wyw webapps]# cd /opt/apache-tomcat-7.0.94/bin/ [root@wyw bin]# ./shutdown.sh [root@wyw bin]# ./startup.sh
访问
http://192.168.100.105:8080/dubbo-admin/
输入root root



