栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

分布式微服务云服务器环境搭建 - -(完整不缺,看了绝对不后悔系列)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分布式微服务云服务器环境搭建 - -(完整不缺,看了绝对不后悔系列)

JDK-8
  • java环境

    • 安装java

      • yum -y install java-1.8.0-openjdk-devel.x86_64
    • 环境变量

      • vim /etc/profile

        JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10- 
        0.el7_8.x86_64/ 
        JRE_HOME=$JAVA_HOME/jre 
        PATH=$PATH:$JAVA_HOME/bin 
        CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
        
    • 更新环境变量

      • source /etc/profile
    • java -version

    • 结果
      java环境java配置成功

Mysql-5.7
  • Mysql-yum源下载安装

    • wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
    • rpm -ivh mysql57-community-release-el7-8.noarch.rpm
    • yum install mysql-server
  • 启动、关闭、查看状态

    • systemctl start mysqld
    • systemctl stop mysqld
    • systemctl status mysqld
  • 查看mysql数据库默认密码

    • grep “password” /var/log/mysqld.log
    • kXMufzN4f(8V
  • 授权远程访问

    • mysql -uroot -p

      SET PASSWORD = PASSWORD('Kuick123456..'); 
      grant all privileges on *.* to root@"%" identified by "Kuick123456.." 
      with grant option; 
      flush privileges;
      
    • 查看账户远程权限配置

      use mysql; 
      select host,user from user;
      

    +结果
    云服务器控制台记得放开3306端口
    mysql安装

    mysql启动关闭查看状态
    mysql密码查看,密码我改过了,这个密码是无效的
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/9f6f25187b744948acf6bfe8157c2107.jpg#pic_center

mysql远程登录权限的操作结果自己去网上找

Redis-6
  • 安装依赖

    • yum -y install centos-release-scl
    • yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    • gcc版本低解决
      • yum install centos-release-scl scl-utils-build
      • yum install -y devtoolset-8-toolchain
      • scl enable devtoolset-8 bash
  • 下载redis安装包

    • wget https://download.redis.io/releases/redis-6.2.5.tar.gz
  • 解压

    • tar zxvf redis-6.2.5.tar.gz
  • 源码安装

    • cd redis-6.2.5/
    • make
    • make install
  • 创建配置文件

    • sudo mkdir /etc/redis
    • cp redis.conf /etc/redis/
    • mkdir -p /data/6379
    • mkdir -p /data/6379/log
  • 配置文件修改

    • vim /etc/redis/redis.conf

      logfile "/data/6379/log/redis.log"
      
      rdbchecksum yes 
      dir /data/6379/ 
      
      requirepass Kuick123456.. 
      
      #bind 127.0.0.1 -::1
      
  • 后台启动

    • nohup redis-server /etc/redis/redis.conf &
  • 关闭

    • netstat -lntp
    • kill -9 redis-pid

+结果
验证redis安装成功

杀死redis

Nacos-2.0.0
  • Maven3.2+安装

    • 下载maven

      • https://mirror-hk.koddos.net/apache/maven/maven-3/3.8.2/binaries/apache-maven-3.8.2-bin.tar.gz
    • 解压

      • tar zxvf apache-maven-3.8.2-bin.tar.gz
      • mv apache-maven-3.8.2 /usr/local/maven
    • 配置环境变量

      • vim /etc/profile

        export MAVEN_HOME=/usr/local/maven 
        export PATH=$MAVEN_HOME/bin:$PATH
        
    • 查看版本

      • mvn -v
  • Nacos

    • 安装位置
      • /usr/local/nacos
    • 下载
      • wget https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz
    • 解压
      • mkdir /usr/local/nacos
      • tar zxvf nacos-server-2.0.3.tar.gz -C /usr/local/nacos/
    • 单机启动
      • sh /usr/local/nacos/nacos/bin/startup.sh -m standalone
    • 单机关闭
      • sh /usr/local/nacos/nacos/bin/shutdown.sh -m standalone
  • 访问地址

    • http://10.20.7.151:8848/nacos/#/login
  • 结果

开启服务放开8848端口nacos登录成功

账号密码就是nacos,如果没登进去切换下首字母大小写

Sentinel-1.6.2
  • 安装位置

    • /usr/local/sentinel
  • 下载

    • mkdir /usr/local/sentinel
    • wget wget https://github.com/alibaba/Sentinel/releases/download/1.6.2/sentinel-dashboard-1.6.2.jar
    • mv sentinel-dashboard-1.6.2.jar sentinel-dashboard.jar
  • 直接jar启动

    nohup java -Dserver.port=8849 -
    Dcsp.sentinel.dashboard.server=10.20.7.151:8849 -Dproject.name=sentinel- 
    dashboard -jar /usr/local/sentinel/sentinel-dashboard.jar 1>> 
    /usr/local/sentinel/sentinel.log 2>&1 &
    
  • 启动参数

    • java -Dserver.port 端口
    • -Dcsp.sentinel.dashboard.server 服务器地址、外部访问
    • nohup 后台启动
  • 日志位置

    • /usr/local/sentinel/
  • 结果
    如何登录自己搜一下很简单就是把nacos换成sentinel和相应的端口
    账号密码就是sentinel

Zookeeper-3.4.9
  • 拉去镜像

    • docker pull zookeeper:3.4.9
  • 创建数据和日志记录

    • mkdir -p /data/zookeeper/data
    • mkdir -p /data/zookeeper/datalog
  • 运行

    docker run -d -p 2181:2181 -v /data/zookeeper/conf:/conf -v 
    /data/zookeeper/data:/data -v /data/zookeeper/datalog:/datalog --name 
    zookeeper --restart always zookeeper:3.4.9
    

    +结果

RocketMQ-4.3.2
  • 拉去镜像

    • docker pull rocketmqinc/rocketmq:4.3.2
  • 创建数据和日志记录

    • mkdir -p /data/rmqserver/store
    • mkdir -p /data/rmqserver/logs
    • mkdir -p /data/rmqbroker/store
    • mkdir -p /data/rmqbroker/logs
    • mkdir -p /data/rmqbroker/conf
  • 修改rmqbroker配置文件

    • vim /data/rmqbroker/conf/broker.conf

      brokerClusterName = DefaultCluster 
      brokerName = broker-a 
      brokerId = 0 
      deleteWhen = 04 
      fileReservedTime = 48 
      brokerRole = ASYNC_MASTER 
      flushDiskType = ASYNC_FLUSH 
      brokerIP1 = 10.20.7.151
      
  • Docker-compose

    • vim /data/rmqserver/docker-compose.yml

      version: '3.5' 
      services: 
        rmqnamesrv:
          image: rocketmqinc/rocketmq:4.3.2 
          container_name: rmqnamesrv 
          ports:
            - 9876:9876
          volumes: 
            - /data/rmqserver/logs:/opt/logs 
            - /data/rmqserver/store:/opt/store 
          environment:
              TZ: Asia/Shanghai 
              JAVA_OPT_EXT: "-server -Xms512m -Xmx512m -Xmn256m"
          command: sh mqnamesrv 
          networks: 
              rmq:
                aliases:
                  - rmqnamesrv
          rmqbroker: 
            image: rocketmqinc/rocketmq:4.3.2
            container_name: rmqbroker
            ports:
              - 10911:10911 
              - 10909:10909 
            volumes:
              - /data/rmqbroker/logs:/opt/logs 
              - /data/rmqbroker/store:/opt/store 
              - /data/rmqbroker/conf/broker.conf:/opt/rocketmq- 
        4.3.2/conf/broker.conf 
            environment: 
                TZ: Asia/Shanghai
                NAMESRV_ADDR: "rmqnamesrv:9876"
                MAX_POSSIBLE_HEAP: 200000000 
                JAVA_OPT_EXT: "-server -Xms1g -Xmx1g -Xmn512m"
            command: sh mqbroker -c /opt/rocketmq-4.3.2/conf/broker.conf 
            links: 
              - rmqnamesrv:namsrv
            networks: 
              rmq:
                aliases:
                  - rmqbroker 
          rmqconsole: 
            image: pangliang/rocketmq-console-ng 
            container_name: rmqconsole
      	  ports: 
      	    - 8888:8080 
      	  environment:
      	  	  TZ: Asia/Shanghai 
      	  	  JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 - Dcom.rocketmq.sendMessageWithVIPChannel=false"
            networks: 
              rmq:
                aliases:  
                  - rmqconsole 
      networks:
        rmq: 
          name: rmq
          driver: bridge
      

​ 运行

​ docker-compose -f docker-compose.yml up -d

Elasticsearch-6.7.1
  • 拉去镜像

    • docker pull elasticsearch:6.7.1
  • 创建数据和日志目录

    • mkdir -p /data/elasticsearch/data
    • mkdir -p /data/elasticsearch/config
  • 运行

    • docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -v /data/elasticsearch/data:/usr/share/elasticsearch/data elasticsearch:6.7.1
      
Apisix-2.6
  • 下载apisix镜像地址

    • git clone https://github.com/apache/apisix-docker.git
  • 进行安装

    • cd /data/apisix-docker/example
    • docker-compose -f docker-compose.yml -p docker-apisix up -d
  • docker-compose

    version: "3"
    
    services: 
      apisix-dashboard:
        image: apache/apisix-dashboard:2.7
        restart: always 
        volumes:
        - ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml 
        ports: 
        - "9000:9000" 
        networks: 
          apisix:
      apisix: 
        image: apache/apisix:2.6-alpine 
        restart: always 
        volumes: 
          - ./apisix_log:/usr/local/apisix/logs 
          - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro 
        depends_on: 
          - etcd 
        ##network_mode: host
        ports:
          - "9080:9080/tcp"
          - "9091:9091/tcp" 
          - "9443:9443/tcp" 
        networks: 
          apisix:
      etcd: 
        image: bitnami/etcd:3.4.15
        user: root 
        restart: always
        volumes:
         - ./etcd_data:/bitnami/etcd 
       environment:
         ETCD_ENABLE_V2: "true" 
         ALLOW_NONE_AUTHENTICATION: "yes" 
         ETCD_ADVERTISE_CLIENT_URLS: "http://0.0.0.0:2379" 
         ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379" 
       ports: 
         - "2379:2379/tcp"
       networks:
         apisix:
         
       web1:
         image: nginx:1.19.0-alpine
         restart: always 
         volumes: 
           - ./upstream/web1.conf:/etc/nginx/nginx.conf
         ports: 
           - "9081:80/tcp"
         environment: 
           - NGINX_PORT=80 
         networks: 
           apisix: 
           
       web2:
         image: nginx:1.19.0-alpine 
         restart: always 
         volumes: 
           - ./upstream/web2.conf:/etc/nginx/nginx.conf
         ports:
           - "9082:80/tcp" 
         environment:
           - NGINX_PORT=80 
         networks:
           apisix: 
           
       networks: 
         apisix: 
           driver: bridge
    
  • 运行

    • docker-compose -p docker-apisix up -d
    • etcd权限错误
      • etcdmain: cannot access data directory: mkdir /bitnami/etcd/data: permission denied
      • chmod 777 /data/apisix-docker/example/etcd_data
  • 测试是否安装成功

    curl "http://127.0.0.1:9080/apisix/admin/services/" -H 'X-API-KEY: 
    edd1c9f034335f136f87ad84b625c8f1' 
    
    返回结果为成功: 
    {"node":{"dir":true,"nodes": 
    {},"key":"/apisix/services"},"count":"1","action":"get"}
    
  • 进行url配置

    • 上游服务配置,可以添加多个目标节点

  • 创建路由

  • 下一步选择上有服务进行配置

  • 测试新创建的路由

    #测试状态 
    curl -X GET "http://127.0.0.1:9080/get?foo1=bar1&foo2=bar2" -H "Host: 
    www.zhongzhi.com"
    
  • 结果

    欢饮关注小王的微信公众号

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324302.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号