linux开发环境部署

linux环境部署与搭建

一、Docker安装

https://www.cnblogs.com/Bernard94/p/14216381.html

1.安装前卸载旧版docker
yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine 
2.安装基础环境
yum install -y yum-utils
3.设置镜像仓库
yum-config-manager \
  --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
4.更新yum软件包索引
yum makecache fast
5.安装最新Docker
yum install docker-ce docker-ce-cli containerd.io
6.启动Docker
systemctl start docker
7.验证Docker是否安装成功
docker version

二、mysql安装

https://www.cnblogs.com/sablier/p/11605606.html

1.拉取镜像
docker pull mysql:5.7   # 拉取 mysql 5.7
docker pull mysql       # 拉取最新版mysql镜像
2.运行
docker run -p 33061:3306  --restart=always --name mysql --privileged=true -v /opt/mysql/data:/var/lib/mysql -v /usr/local/docker/mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1 --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

注:lniux中安装mysql可能会出现忽略数据库表格大小写问题

三、redis安装

https://blog.csdn.net/wejack/article/details/117334508

1.拉取镜像
docker pull redis
2.运行
docker run --name redis -p 63891:6379 --restart=always -d 3358aea34e8c --requirepass 123456 --bind 0.0.0.0 --protected-mode no

四、influxdb安装

https://www.jianshu.com/p/c83224099f85、

https://docs.influxdata.com/influxdb/v2.0/install/?t=Docker

1.拉取镜像
docker pull influxdb:2.0.4
2.运行influxdb
docker run -d --cap-add SYS_TIME --name influxdb --restart always -p 8086:8086 -v /home/influxdb/data:/var/lib/influxdb2 influxdb:2.0.4
参考运行方法2:
mkdir /home/docker/influxdb && docker run --rm influxdb:2.0.9 influxd print-config >
/home/docker/influxdb/config.yml && docker run -p 8086:8086 --name influxdb --
restart=always -v /home/docker/influxdb/data:/var/lib/influxdb2 -v
/home/docker/influxdb/config.yml:/etc/influxdb2/config.yml -d influxdb:2.0.9

注:在使用influxdb时需注意服务器的时区问题 date查询及时区修改为CST

五、zookeeper、kafka安装

https://blog.csdn.net/keketrtr/article/details/114374371

1.拉取zookeeper镜像
docker pull wurstmeister/zookeeper
2.运行zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
3.拉取kafka镜像
docker pull wurstmeister/kafka
4.运行kafka
docker run -d --name kafka -p 9092:9092 --restart=always -e KAFKA_BROKER_ID=0 -e
KAFKA_ZOOKEEPER_CONNECT=183.1.1.4:2181 -e
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -e
KAFKA_LISTENERS=PLAINTEXT://127.0.0.1:9092 -t wurstmeister/kafka

注:KAFKA_ZOOKEEPER_CONNECT 填内网 ip,KAFKA_ADVERTISED_LISTENERS 填外网 ip

六、nacos安装

https://blog.csdn.net/qq_34807429/article/details/103779305

1.拉取镜像
docker pull nacos/nacos-server
2.运行nacos

直接启动:(持久化后配)

docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 --restart=always -e
PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server:2.0.3

以参数的形式启动,启动时持久化

docker run -d -e MODE=standalone -e PREFER_HOST_MODE=hostname -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=192.168.1.126 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -e MYSQL_SERVICE_DB_NAME=ibms-nacos -e NACOS_SERVER_IP=192.168.1.126 -e JVM_XMS=128m -e JVM_XMX=128m -p 8848:8848 -p 9848:9848 -p 9849:9849 -v /home/nacos/logs:/home/nacos/logs --name nacos nacos/nacos-server:2.0.3

注:nacos安装完成后需做持久化

七、MongoDB安装

https://blog.csdn.net/qq_37557563/article/details/115514901、

https://blog.csdn.net/biao0309/article/details/87641272

安装mongodb之前,需先安装docker-compose

1.创建文件夹
mkdir /home/docker/mongodb
2.配置docker-compose.yml
version: '3.1'

services:
  mongodb1:
    image: mongo
    restart: always
    container_name: mongo1
    volumes:
      - ./data/db/mongo1:/data/db
      - ./mongodb.key:/data/mongodb.key
    ports:
      - 27017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
      MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
    networks:
      - mongoNet
    command: mongod --replSet mongos --keyFile /data/mongodb.key
    entrypoint:
      - bash
      - -c
      - |
        chmod 400 /data/mongodb.key
        chown 999:999 /data/mongodb.key
        exec docker-entrypoint.sh $$@

  mongodb2:
    image: mongo
    restart: always
    container_name: mongo2
    volumes:
      - ./data/db/mongo2:/data/db
      - ./mongodb.key:/data/mongodb.key
    ports:
      - 37017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
      MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
    networks:
      - mongoNet
    command: mongod --replSet mongos --keyFile /data/mongodb.key
    entrypoint:
      - bash
      - -c
      - |
        chmod 400 /data/mongodb.key
        chown 999:999 /data/mongodb.key
        exec docker-entrypoint.sh $$@

  mongodb3:
    image: mongo
    restart: always
    container_name: mongo3
    volumes:
      - ./data/db/mongo3:/data/db
      - ./mongodb.key:/data/mongodb.key
    ports:
      - 47017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
      MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
    networks:
      - mongoNet
    command: mongod --replSet mongos --keyFile /data/mongodb.key
    entrypoint:
      - bash
      - -c
      - |
        chmod 400 /data/mongodb.key
        chown 999:999 /data/mongodb.key
        exec docker-entrypoint.sh $$@
    
networks:
  mongoNet:
    driver: bridge
3.创建.env文件,主要作用是初始化数据库账号密码
MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=admin
4.使用Mongodb官方推荐keyFile的生成方式
# 400权限是要保证安全性,否则mongod启动会报错
openssl rand -base64 756 > mongodb.key
chmod 400 mongodb.key

注:每一个副本集成员都要使用相同的keyFile文件

  1. chown 999:999 /data/mongodb.key 999用户是容器中的mongod用户,通过chown修改文件用户权限。
  2. mongod --replSet mongos --keyFile /data/mongodb.key 启动命令,–replSet mongos 以副本集形式启动并将副本集名字命名为 mongos ,–keyFile /data/mongodb.key 设置keyFile,用于副本集通信,文件通过 volumes 映射到容器内。
  3. networks 创建容器在同一局域网下,容器之间通信。
5.配置副本集

​ 切换到docker-compose.yml所在目录,执行命令docker-compose up -d启动数据库,-d标识后台启动并运行所有的容器。

​ 通过命令 docker exec -it mongo /bin/bash进入容器进行配置

6.进入mongo
#:  mongo -u admin -p root 
7.初始化副本集配置
rs.initiate({
    _id: "mongos",
    members: [
        { _id : 0, host : "192.168.1.xxx:27017" },
        { _id : 1, host : "192.168.1.xxx:27018" },
        { _id : 2, host : "192.168.1.xxx:27019" }
    ]
});
9.配置仲裁节点
mongos:PRIMARY> rs.addArb("192.168.1.xx:27019")
10.修改权重(优先级)
conf = rs.config()			         #获取副本集的配置,默认权重都是1

conf.members[0].priority = 10	     #索引号从0开始,每次递增1,类似数组

conf.members[1].priority = 5

conf.members[2].priority = 2

rs.reconfig(conf)			        #更新mongodb副本集的配置,优先权重最高的

单体版本:(启动时加权限)

docker run --name mongo-server -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=123456 -v /usr/local/mongodb/data:/data/db -v /usr/local/mongodb/log:/data/log -d 804494a44af1 --auth

八、EMQ安装

https://www.emqx.io/docs/zh/v4.4/getting-started/install.html

安装并启动:

$ docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v4.0.0

注:根据不同的认证方式,需修改对应的配置文件

八、RabbitMq安装

拉取镜像:

docker pull rabbitmq

启动:

docker run -d -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_VHOST=/ -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=123456 --hostname myRabbit --name rabbitmq 792f1c5d392c

进入容器配置插件

docker exec -it ab459dce632a /bin/sh

#:rabbitmq-plugins enable rabbitmq_management

八、nginx部署

拉取镜像:

docker pull nginx

启动:

docker run -it -d --name fsp-nginx --privileged=true -p 8082:80 -p 8207:8207 -p 8203:8203 -p 8204:8204 -v /home/sctech/projects/OptiFsp:/usr/share/nginx/html -v /home/sctech/projects/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/sctech/projects/conf/default.conf:/etc/nginx/conf.d/default.conf  -v /home/sctech/projects/nginx/logs:/var/log/nginx 76c69feac34e
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值