服务端环境配置
更新时间:2023-10-28
软件环境
说明
默认服务器已经安装docker和doker-compose
必装:Rabbitmq消息队列环境 Redis缓存数据库环境
完整版:Mysql关系型数据库
简易版:无
Rabbitmq安装
使用 docker-compose
安装rabbitmq环境,建议使用版本为3.12.10
version: "3"
services:
rabbitmq:
container_name: rabbitmq
hostname: rabbitmq
image: rabbitmq:3-management
ports:
- ${RABBITMQ_PORT}:5672
- ${RABBITMQ_WEB_PORT}:15672
- "4369:4369"
- "25672:25672"
restart: always
environment:
TZ: Asia/Shanghai
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: 1qaz@WSX
volumes:
- ${RABBITMQ_DATA}:/var/lib/rabbitmq
- ${RABBITMQ_CONF}:/etc/rabbitmq/rabbitmq.conf
- ${RABBITMQ_COOKIE}:/var/lib/rabbitmq/.erlang.cookie
- ${RABBITMQ_DELAY_PLUGIN}:/plugins/rabbitmq_delayed_message_exchange-3.11.1.ez
networks:
- iot-net
networks:
iot-net:
driver: bridge
version: "3"
services:
rabbitmq:
container_name: rabbitmq
hostname: rabbitmq
image: rabbitmq:3-management
ports:
- ${RABBITMQ_PORT}:5672
- ${RABBITMQ_WEB_PORT}:15672
- "4369:4369"
- "25672:25672"
restart: always
environment:
TZ: Asia/Shanghai
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: 1qaz@WSX
volumes:
- ${RABBITMQ_DATA}:/var/lib/rabbitmq
- ${RABBITMQ_CONF}:/etc/rabbitmq/rabbitmq.conf
- ${RABBITMQ_COOKIE}:/var/lib/rabbitmq/.erlang.cookie
- ${RABBITMQ_DELAY_PLUGIN}:/plugins/rabbitmq_delayed_message_exchange-3.11.1.ez
networks:
- iot-net
networks:
iot-net:
driver: bridge
注意
Rabbitmq一定要安装rabbitmq_delayed_message_exchange
延迟消息插件
说明
脚本中变量解释说明:
变量 RABBITMQ_PORT
为映射的服务器端口
变量 RABBITMQ_WEB_PORT
为映射的网页端口
变量 RABBITMQ_DATA
为映射的数据保存的路径地址
变量 RABBITMQ_CONF
为映射配置文件
变量 RABBITMQ_COOKIE
为映射cookie值,用于分布式部署时候使用
rabbitmq.conf配置示例
loopback_users.guest = false
listeners.tcp.default = 5672
management.tcp.port = 15672
default_vhost = /
default_user = admin
default_pass = admin
default_user_tags.administrator = true
default_permissions.configure = .*
default_permissions.read = .*
default_permissions.write = .*
loopback_users.guest = false
listeners.tcp.default = 5672
management.tcp.port = 15672
default_vhost = /
default_user = admin
default_pass = admin
default_user_tags.administrator = true
default_permissions.configure = .*
default_permissions.read = .*
default_permissions.write = .*
Mysql安装
使用 docker-compose
安装mysql环境
version: "3"
services:
mysql:
container_name: mysql
hostname: mysql
image: mysql:8
ports:
- ${MYSQL_PORT}:3306
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_ROOT_HOST: '%'
MYSQL_USER: ${MYSQL_USERNAME}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- ${MYSQL_DATA}:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --default-time-zone='+8:00' --max_connections=1000 --innodb_lock_wait_timeout=500
networks:
- iot-net
networks:
iot-net:
driver: bridge
version: "3"
services:
mysql:
container_name: mysql
hostname: mysql
image: mysql:8
ports:
- ${MYSQL_PORT}:3306
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_ROOT_HOST: '%'
MYSQL_USER: ${MYSQL_USERNAME}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- ${MYSQL_DATA}:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --default-time-zone='+8:00' --max_connections=1000 --innodb_lock_wait_timeout=500
networks:
- iot-net
networks:
iot-net:
driver: bridge
说明
脚本中变量解释说明:
变量 MYSQL_PORT
为映射的服务器端口
变量 MYSQL_ROOT_PASSWORD
为映射的root用户的密码
变量 MYSQL_USERNAME
为映射的新建的用户名
变量 MYSQL_PASSWORD
为映射的新建的用户的密码
变量 MYSQL_DATA
为映射的数据保存的文件夹路径
数据库的创建,以下说明只针对完整版服务端配置
mysql脚本安装好之后,创建一个名为nav_resolve的数据库(可以自定义名字,修改数据库的连接配置即可),后面服务端镜像安装需要依赖此数据库。
Redis安装
使用 docker-compose
安装redis环境
version: "3"
services:
redis:
container_name: redis
hostname: redis
image: redis:5
ports:
- ${REDIS_PORT}:6379
restart: always
environment:
TZ: Asia/Shanghai
volumes:
- ${REDIS_DATA}:/data
- ${REDIS_CONFIG}:/etc/redis.conf
command: /usr/local/bin/redis-server /etc/redis.conf
networks:
- iot-net
networks:
iot-net:
driver: bridge
version: "3"
services:
redis:
container_name: redis
hostname: redis
image: redis:5
ports:
- ${REDIS_PORT}:6379
restart: always
environment:
TZ: Asia/Shanghai
volumes:
- ${REDIS_DATA}:/data
- ${REDIS_CONFIG}:/etc/redis.conf
command: /usr/local/bin/redis-server /etc/redis.conf
networks:
- iot-net
networks:
iot-net:
driver: bridge
说明
脚本中变量解释说明:
变量 REDIS_PORT
为映射的服务器端口
变量 REDIS_DATA
为映射的数据保存的文件夹路径
变量 REDIS_CONFIG
为映射的配置文件的绝对路径
redis.conf配置示例
port 6379
requirepass 1qaz@WSX
appendonly yes
notify-keyspace-events "Ex"
port 6379
requirepass 1qaz@WSX
appendonly yes
notify-keyspace-events "Ex"