linux安装docker并部署常用的中间件

 

  1. 部署安装过程
      1. 部署安装步骤
        1. docker环境部署准备

需要依次对服务器进行Docker容器安装

安装步骤:

  1. 更新yum update

2、yum install -y yum-utils device-mapper-persistent-data lvm2

3、yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(

//当3docker数据源网络不好时,用阿里云代替 

sudo rm -f /etc/yum.repos.d/docker-ce.repo

sudo tee /etc/yum.repos.d/docker.repo <<EOF

[docker-ce]

name=Docker CE

baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/

gpgcheck=1

gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

enabled=1

EOF

)

  1. yum install -y docker-ce-20.10.7-3.el7  

(

//也或者用下两行代替

sudo yum makecache fast  

sudo yum install docker-ce

)

5  systemctl start docker

6、systemctl enable docker

7、systemctl status docker

 

        1. Postgres数据库部署
  1. 创建数据持久化目录

mkdir /software/pgdata

  1. 运行容器

docker run --name postgis -e POSTGRES_PASSWORD='postgresPassword' -e ALLOW_IP_RANGE=0.0.0.0/0 -p 15432:5432 -v /software/pgdata:/var/lib/postgresql/data -d --privileged=true postgis/postgis:12-3.2

//如果pull失败,配置如下镜像加速器再pull

//

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

    "registry-mirrors": [

        "https://do.nark.eu.org",

        "https://dc.j8.work",

        "https://docker.m.daocloud.io",

        "https://dockerproxy.com",

        "https://docker.mirrors.ustc.edu.cn",

        "https://docker.nju.edu.cn"

    ]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

//

  1. 修改配置远程连接

vi /software/pgdata/pg_hba.conf

内容如下:

host all all 0.0.0.0 0.0.0.0 md5

vi /software/pgdata/postgresql.conf

内容如下:

listen_addresses = '*'   # *表示监听所有地址

port = 5432      # 监听端口

max_connections = 1000    # 指定最大连接数

tcp_keepalives_idle = 60

tcp_keepalives_interval = 10

tcp_keepalives_count = 10

shared_buffers = 1GB   # 设置共享内存缓冲区的内存量,建议值为系统总内存的25%

temp_buffers = 80MB    # 设置用于每个数据库会话中的临时缓冲区的最大内存量

max_files_per_process = 65535   # 设置允许每个服务器子进程同时打开的文件的最大数量。不能大于ulimt -n的数值

bgwriter_delay = 100ms

bgwriter_lru_maxpages = 1000

bgwriter_flush_after = 0

synchronous_commit = off

wal_level = replica

archive_mode = on

  1. 重启容器

docker restart postgis

        1. mysql服务器部署

1、wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2、rpm -ivh mysql57-community-release-el7-9.noarch.rpm

3、cd /etc/yum.repos.d/

4、rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

5、yum install mysql-server

6、touch /etc/my.cnf

7、vi /etc/my.cnf

文件内容:

[mysqld]

port = 3306

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

symbolic-links=0

max_allowed_packet = 16M

join_buffer_size = 128M

sort_buffer_size = 16M

read_rnd_buffer_size = 16M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

character-set-server = utf8

explicit_defaults_for_timestamp=true

default_time_zone = '+8:00'

[mysql]

default-character-set = utf8

[client]

port = 3306

socket=/var/lib/mysql/mysql.sock

default-character-set = utf8

8、systemctl start mysqld

9、systemctl status mysqld

10、查看数据库临时密码
cat /var/log/mysqld.log | grep password

11、连接数据库  mysql -uroot -p  

然后输入密码

12、修改密码

alter user 'root'@'localhost' identified by 'postgresP@ssw0rd';

13、开启数据库远程连接权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'postgresP@ssw0rd';

14、刷新数据库权限

FLUSH PRIVILEGES;

        1. Redis服务器部署

安装步骤:

  1. 创建redis数据持久化目录

mkdir /gsafetyserver/redis/conf

mkdir /gsafetyserver/redis/data

  1. 创建redis.conf文件并放入/gsafetyserver/redis/conf下

redis.conf内容如下:

# 开启密码验证(可选)

requirepass tg123456

# 关闭保护模式(可选)

protected-mode no

# 注释掉daemonize yes,或者配置成daemonize no。因为该配置和docker run中的-d参数冲突,会导致容器一直启动失败

daemonize no

# 开启Redis数据持久化(可选)

appendonly yes

  1. 运行redis镜像

docker run -itd --name redis -p 6379:6379 --restart=always -v /gsafetyserver/redis/conf/redis.conf:/etc/redis/redis.conf -v /gsafetyserver/redis/data:/data --privileged redis:5.0.5 redis-server /etc/redis/redis.conf 4、验证redis密码是否设置

redis-cli

auth tg123456

出现ok设置成功

        1. 消息中间件部署

安装步骤:

  1. 下载镜像

docker pull wurstmeister/zookeeper

docker pull wurstmeister/kafka:2.13-2.7.0

  1. 启动服务

启动Zookeeper

docker run -d --name zookeeper  -p 2181:2181 -t wurstmeister/zookeeper

启动Kafka

docker run -d --name kafka --publish 9092:9092 \

--env KAFKA_ZOOKEEPER_CONNECT=XX.XX.XX.XX:2181 \

--env KAFKA_ADVERTISED_HOST_NAME=XX.XX.XX.XX \

--env KAFKA_ADVERTISED_PORT=9092 \

wurstmeister/kafka:2.13-2.7.0

备注:xx.xx.xx.xx 为本机服务器内网ip地址

        1. nacos注册中心部署
  1. 下载镜像

docker pull nacos/nacos-server:v2.2.0

  1. 初始化Mysql数据库

上传nacos_config.sql文件到数据库服务器

连接数据库

mysql -uroot -p

输入密码

执行命令:source nacos_config.sql;

  1. 创建数据持久化目录

mkdir nacos/logs

  1. 启动nacos服务

docker  run --name nacos -d -p 8848:8848 \

--privileged=true \

--restart=always \

-e JVM_XMS=256m \

-e JVM_XMX=256m \

-e MODE=standalone \

-e SPRING_DATASOURCE_PLATFORM=mysql \

-e PREFER_HOST_MODE=ip \

-e MYSQL_SERVICE_HOST=xx.xx.xx.xx \

-e MYSQL_SERVICE_PORT=3306 \

-e MYSQL_SERVICE_DB_NAME=nacos_config \

-e MYSQL_SERVICE_USER=root \

-e MYSQL_SERVICE_PASSWORD=数据库密码 \

-e MYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false" \

-v 映射目录绝对路径:/home/nacos/logs \

nacos/nacos-server:v2.2.0

备注:xx.xx.xx.xx为数据库服务器内网IP 

  1. 验证服务是否正常

http://ip:8848/nacos

用户名/密码:nacos/Tcrise@123! 

        1. Nginx部署
  1. 下载依赖

yum -y install pcre-devel zlib-devel gcc openssl openssl-devel wget

2、下载安装包

wget http://nginx.org/download/nginx-1.24.0.tar.gz

  1. 解压安装包

tar -zxvf nginx-1.24.0.tar.gz && cd nginx-1.24.0

  1. 编译安装

./configure --user=nobody --group=nobody  --prefix=/gsafetyserver/nginx --with-http_ssl_module --with-http_sub_module  --with-http_realip_module  --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream

make && make install

cd /gsafetyserver

rm -rf nginx-1.24.0.tar.gz

mv nginx-1.24.0 nginx

  1. 创建启动systemctl启动文件

touch /lib/systemd/system/nginx.service

文件内容:

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/gsafetyserver/nginx/sbin/nginx -c /gsafetyserver/nginx/conf/nginx.conf

ExecReload=/gsafetyserver/nginx/sbin/nginx -s reload

ExecStop=/gsafetyserver/nginx/sbin/nginx -s quit

PrivateTmp=true

[Install]

WantedBy=multi-user.target

  1. 启动nginx
    systemctl start nginx
  2. 创建软连接

ln -s /gsafetyserver/nginx/sbin/nginx /usr/bin/nginx

chmod -R 755 /usr/bin/nginx

rm -rf /gsafetyserver/nginx/nginx-1.24.0

nginx配置文件/gsafetyserver/nginx/conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值