提示:文章如有错误的地方请指出,以免误人子弟!
提示:以下是本篇文章正文内容,下面案例可供参考
contos7
- CentOS 7 快速开放端口
#开启端口:
[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
#查询端口号80 是否开启:
[root@centos7 ~]# firewall-cmd --query-port=80/tcp
#重启防火墙:
[root@centos7 ~]# firewall-cmd --reload
#查询有哪些端口是开启的:
[root@centos7 ~]# firewall-cmd --list-port
#命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
#关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
docker安装
- 环境查看
[root@localdomain /]# uname -r
3.10.0-1160.el7.x86_64
- 卸载旧的docker版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 需要的安装包
yum install -y yum-utils
- 设置镜像的仓库(这里是阿里云的镜像地址)
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装自选或最新的docker版本
# 更新yum软件包索引
yum makecache fast
# 1.列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。
yum list docker-ce --showduplicates | sort -r
# 2.通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
yum install docker-ce-17.12.0.ce-1.el7.centos
# 安装最新版docker docker-ce:社区版 ee:企业版
yum install docker-ce docker-ce-cli containerd.io
# 启动docker
systemctl start docker
# 查看docker 版本
docker version
# 卸载docker
yum remove docker-ce
# 删除镜像、容器、配置文件等内容
rm -rf /var/lib/docker
mysql 安装
# 搜索mysql版本
docker search mysql
# 安装 最新版
docker pull mysql:latest
# 先在home目录下建mysql文件夹,建conf.d,data文件夹
mkdir home/mysql/conf.d
mkdir home/mysql/data
# 启动并进行数据卷挂载数据
docker run -d -p 3306:3306 -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=wh0209 --name mysql mysql
redis 安装
# 搜索redis 版本
docker search redis
# 安装 最新版
docker pull redis:latest
# 先在home目录下建redis文件夹,建conf和redis.conf文件,data文件夹
mkdir home/redis/conf/
# 放入修改好的 redis.conf 文件,因为docker redis容器中没有redis.conf配置文件
mkdir home/redis/data
# 启动并进行数据卷挂载数据
docker run -p 6379:6379 --name redis -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
- redis 配置文件修改
- docker redis以守护进程方式必须是no
daemonize=NO。非后台模式,如果为YES 会的导致 redis 无法启动,因为后台会导致docker无任务可做而退出。
- 日志级别
- 持久化 , 在规定时间内,执行了多少次,则会持久化到 .rdb .aof文件内
# redis 是内存数据库,如果没有持久化,那么数据就会断电及失!
# 如果在900秒内,如果至少有1个key进行了修改,我们就进行持久化操作
save 900 1
# 如果在300秒内,如果至少有10个key进行了修改,我们就进行持久化操作
save 300 100
# 如果在60秒内,如果至少有10000个key进行了修改,我们就进行持久化操作
save 60 10000
# 可以自定义 自己的持久化策略
stop-writes-on-bgsave-error yes # 持久化出错,是否还继续工作
rdbcompression yes # 是否压缩rdb文件
rdbchecksum yes #保存rdb文件的时候是否进行错误校验检查
dir ./ #rdb 文件的保存路径
requirepass wh0209 # 设置redis的密码
nacos安装
# 搜索nacos版本
docker search nacos
# 安装 最新版
docker pull nacos/nacos-server
# 先在home目录下建mysql文件夹,建conf.d,data文件夹
mkdir home/nacos/logs
# 启动并进行数据卷挂载数据
docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.96.135 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=wh0209 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SLAVE_SERVICE_HOST=192.168.96.135 \
-e MYSQL_SLAVE_SERVICE_PORT=3306 \
-e TIME_ZONE='Asia/Shanghai' \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-v /home/nacos/logs:/home/nacos/logs \
-p 8848:8848 \
--name nacos \
nacos/nacos-server:1.4.1
docker run -d --name nacoss -p 8848:8848 --env MODE=standalone --env NACOS_SERVER_IP=192.168.96.1 nacos/nacos-server
#*集群版部署*
#同样准备3台服务器;分别执行如下命令;注意NACOS_SERVER_IP 参数需要修改为各个服务器自己的IP地址
docker run -d --name nacos-cluster -p 8848:8848 \
--env NACOS_SERVERS=192.168.56.102,192.168.56.104,192.168.56.105 \
--env NACOS_SERVER_IP=192.168.56.102 \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=192.168.56.103 \
--env MYSQL_SERVICE_DB_NAME=nacos \
--env MYSQL_SERVICE_USER=root \
--env MYSQL_SERVICE_PASSWORD=123456 \
--env MYSQL_DATABASE_NUM=1 \
nacos/nacos-server
#参数说明:
#NACOS_SERVERS : 集群节点信息
#NACOS_SERVER_IP : 服务IP,多网卡模式下建议指定
#SPRING_DATASOURCE_PLATFORM : 使用数据库类型
#MYSQL_SERVICE_HOST : MySQL数据库地址
#MYSQL_SERVICE_DB_NAME : 数据库名称
#MYSQL_SERVICE_DB_NAME : 数据库用户名
#MYSQL_SERVICE_PASSWORD : 数据库密码
#MYSQL_DATABASE_NUM : 数据库数量,默认就是1,可以不填写
#至此集群就搭建完成了。可以通过docker日志命令查询nacos的日志信息(docker logs -ft --tail 200 nacos-cluster )。
#--restart=always \ 开机启动
# 访问路径
http://192.168.96.135:8848/nacos/#/login
sentinel安装
# 搜索sentinel版本
docker search sentinel
# 安装 最新版
docker pull bladex/sentinel-dashboard:latest
# 启动并进行数据卷挂载数据
docker run -p 8858:8858 -d --name sentinel bladex/sentinel-dashboard
#访问路径
http://192.168.96.135:8858/#/login
nginx 安装
# 搜索nginx版本
docker search nginx
# 安装 最新版
docker pull nginx:latest
# 先在home目录下建mysql文件夹,建conf.d,data文件夹
mkdir home/nginx/logs
mkdir home/nginx/conf.d touch default.conf
mkdir home/nginx/image
mkdir home/nginx/audio
mkdir home/nginx/video
mkdir home/nginx/html
# 启动并进行数据卷挂载数据
docker run --name nginx -d -p 80:80 -v /home/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /home/nginx/html:/etc/nginx/html -v /home/nginx/logs:/var/log/nginx -v /home/nginx/audio:/etc/nginx/audio -v /home/nginx/video:/etc/nginx/video -v /home/nginx/image:/etc/nginx/image nginx
- nginx.default.conf 文件:
server {
listen 80;
listen [::]:80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
- 静态资源代理
# 通用配置 (配置如下)
location / {
root # 静态资源路径
index # 默认访问路径下的什么资源
autoindex on; # 代表展示静态资源下的全部内容,以列表的形式
}
# 图片
location /image {
root /etc/nginx; #容器内图片路径,nginx后面的/image会自动拼接,如果/image后面还有文件夹,图片请求路径得带着/文件夹名称
autoindex on;
}
kafka安装
- consumer 安装
# 安装
docker pull wurstmeister/zookeeper
# 启动
docker run -d --name zookeeper --publish 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
- kafka安装
# 安装
docker pull wurstmeister/kafka
# 启动
# 配置zookeeper管理kafka的路径10.9.44.11:2181/kafka
# 把kafka的地址端口注册给zookeeper
#
docker run -d --name kafka --publish 9092:9092 \
--link zookeeper \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.96.135:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.96.135:9092 \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.96.135 \
--env KAFKA_ADVERTISED_PORT=9092 \
-v /etc/localtime:/etc/localtime \
wurstmeister/kafka
希望对你有所帮助!