# gateway **Repository Path**: leesite/gateway ## Basic Information - **Project Name**: gateway - **Description**: 网关 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-03-25 - **Last Updated**: 2021-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #一、准备工作 ##1.离线安装docker并加载所需镜像(离线安装,若外网根据实际情况安装即可,centos7 内核>3.10) ###1)安装依赖包 ``` cd /root/soft/docker-ins/package 命令:rpm -ivh * ``` ```` 依赖包列表 *audit-libs-python-2.8.5-4.el7.x86_64.rpm *checkpolicy-2.5-8.el7.x86_64.rpm *libcgroup-0.41-21.el7.x86_64.rpm *libseccomp-2.3.1-4.el7.x86_64.rpm *libsemanage-python-2.5-14.el7.x86_64.rpm *libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm *pigz-2.3.3-1.el7.centos.x86_64.rpm *policycoreutils-python-2.5-34.el7.x86_64.rpm *python-IPy-0.75-6.el7.noarch.rpm *setools-libs-3.3.8-4.el7.x86_64.rpm ```` ###2)安装docker ``` cd /root/soft/docker-ins 命令:rpm -ivh container-selinux-2.9-4.el7.noarch.rpm 命令:rpm -ivh docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm ``` ###3)加载镜像(离线安装,若外网根据实际情况安装即可) ``` cd /root/soft/gateway-images docker load -i centos.7.tar docker load -i mysql.tar docker load -i nginx.tar docker load -i zookeeper.tar docker load -i redis.tar ``` _**以上需要的依赖,安装包及镜像下载地址:链接:https://pan.baidu.com/s/1J67t2Z9BtG-hWnicSRHZIQ**_ #二、创建目录 ##1.数据库,中间件目录 ``` /data1 /data1/docker /data1/docker/mysql /data1/docker/mysql/conf /data1/docker/mysql/logs /data1/docker/mysql/data /data1/docker/redis /data1/docker/redis/conf /data1/docker/redis/data /data1/docker/zookeeper /data1/docker/zookeeper/conf ``` ##2.应用目录 ``` /data1/java/docker /data1/html/docker ``` #三、启动容器 ##1.创建网络 ``` docker network create gateway ``` ##2.zookeeper 启动 : ``` docker run --net=gateway --network-alias=zk --name gateway-zookeeper --privileged=true -p 2181:2181 -p 2888:2888 -p 3888:3888 --restart always -d -v /data1/docker/zookeeper/conf:/conf zookeeper ``` ##3.redis 启动 : ``` docker run --net=gateway --network-alias=rds -p 6379:6379 --name gateway-redis -v /data1/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /data1/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes ``` ##4.mysql 启动 : ``` docker run --net=gateway --network-alias=msq --name gateway-mysql -v /data1/docker/mysql/conf:/etc/mysql/conf.d -v /data1/docker/mysql/logs:/logs -v /data1/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qaz@123 -d -i -p 3306:3306 mysql ``` #四、修改mysql配置 ##1.登入mysql : ``` docker exec -it 容器id bash ``` ##2.连接mysql : ``` mysql -uroot -pqaz@123 ``` ##3.查看mysql用户表: ``` select host,user,plugin,authentication_string from mysql.user; ``` ##4.修改远程链接配置: ``` alter user 'root'@'%' identified with mysql_native_password by 'qaz@123'; ``` ##5.刷新权限 : ``` flush privileges; ``` _**生产建议创建用户并赋权,不要用root**_ #五、编译应用 ##1.gateway-admin-api 命令: ``` sh build.sh docker gateway-admin-api ``` _**根据docker内部实际网络名称修改配置文件。**_ ##2.gateway-admin-ui 命令: ``` sh build.sh (依赖 nodejs) ``` _**根据gateway-admin-api实际部署的网络地址修改config.js的请求地址。**_ ##3.gateway-bootstrap 命令: ``` sh build.sh docker gateway-bootstrap ``` _**根据docker内部实际网络名称修改配置文件。**_ #六、部署启动应用 ##1.拷贝应用到服务器目录 1)gateway-admin-api: ``` /data1/java/docker/gateway-admin-api ``` _**包含文件:docker-build.sh;Dockerfile;docker-run.sh;jdk-8u231-linux-x64.tar.gz;gateway-admin-api.tar.gz**_ 2)gateway-admin-ui: ``` /data1/java/docker ``` _**包含文件:docker-build.sh;Dockerfile;docker-run.sh;gateway-admin-ui.tar.gz**_ 3)gateway-bootstrap: ``` /data1/java/docker/gateway-bootstrap ``` _**包含文件:docker-build.sh;Dockerfile;docker-run.sh;jdk-8u231-linux-x64.tar.gz;gateway-bootstrap.tar.gz**_ ##2.构建并运行 ``` docker-build.sh docker-run.sh ``` #七、效果 ![docker部署](https://images.gitee.com/uploads/images/2021/0402/090244_939350aa_7921160.png "DOCKER.PNG") ![用户管理](https://images.gitee.com/uploads/images/2021/0402/090322_653aa01d_7921160.png "USER.PNG") ![权限管理](https://images.gitee.com/uploads/images/2021/0402/090340_0b7571c6_7921160.png "PRIVILEGES.PNG") ![接口注册](https://images.gitee.com/uploads/images/2021/0402/090409_7fc8a973_7921160.png "API.PNG") ![接口详情](https://images.gitee.com/uploads/images/2021/0402/090416_961aced8_7921160.png "API-DETAIL.PNG") ![服务器提供者](https://images.gitee.com/uploads/images/2021/0402/090517_aec6af1f_7921160.png "PRIVIDER.PNG") ![服务提供者详情](https://images.gitee.com/uploads/images/2021/0402/090349_63ca6390_7921160.png "PRIVIDER-DETAIL.PNG") ![消费者](https://images.gitee.com/uploads/images/2021/0402/090425_c57f6bd3_7921160.png "CONSUMER.PNG") ![消费者授权](https://images.gitee.com/uploads/images/2021/0402/090435_c43dce7b_7921160.png "CONSUMER-GRANT.PNG")