CentOS7+Docker(MySQL、Redis、Elasticsearch、Kibana、nacos、RabbitMQ)+Vue+环境配置和安装
一、CentOS7配置静态IP
-
ifconfig — ether 00:0c:29:bf:bb:3d
-
vim /etc/sysconfig/network-scripts/ifcfg-ens33
-
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" #这里默认dhcp,改为static DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="4cbc16cf-15e0-45b9-954d-fe761e6c9c90" DEVICE="ens33" ONBOOT="yes" # 下面手动添加 HWADDR="00:0c:29:bf:bb:3d" #这里根据具体情况改 IPADDR="192.168.0.11" #网段要改 NETMASK="255.255.255.0" #固定的 GATEWAY="192.168.0.1" #网段改 DNS1="114.114.114.114" #固定的 DNS4="8.8.8.8" #固定的
-
service network restart
二、安装docker
https://docs.docker.com/engine/install/centos/ docker-centos-官方网站
-
删除老版本
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
安装工具包并设置存储库
sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
-
安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
-
启动docker
sudo systemctl start docker
-
设置开机启动docker
-
检查docker版本
docker -v
-
查看docker已有镜像
sudo docker images
-
设置docker开机启动
sudo systemctl enable docker
-
-
设置国内镜像仓库
阿里云镜像加速器:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
# 创建文件 sudo mkdir -p /etc/docker # 修改配置, 设置镜像 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://vw9qapdy.mirror.aliyuncs.com"] } EOF # 重启后台线程 sudo systemctl daemon-reload # 重启docker sudo systemctl restart docker
三、docker可视化-Portainer安装
-
创建外链
docker volume create portainer_data
-
创建Portainer容器
docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
四、docker-compose安装
https://docs.docker.com/compose/install/
五、docker安装mysql
-
拉取MySQL5.7镜像
sudo docker pull mysql:5.7
-
docker启动mysql
sudo docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7 # ● -p 3306:3306:将容器的3306端口映射到主机的3306端口 # ● --name:给容器命名 # ● -v /mydata/mysql/log:/var/log/mysql:将配置文件挂载到主机/mydata/.. # ● -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码为root
-
查看docker启动的容器
docker ps
-
配置mysql
-
进入挂载的mysql配置目录
cd /mydata/mysql/conf
-
修改配置文件
my.cnf
vi my.cnf #拷贝以下内容 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake skip-name-resolve sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES lower_case_table_names=1 innodb_file_per_table=1 # Esc # :wq
-
docker重启mysql使配置生效
docker restart mysql
-
六、docker安装redis
-
docker拉取redis镜像
docker pull redis
-
docker启动redis
-
创建redis配置文件目录
mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf
-
-
启动redis容器
docker run -p 6379:6379 --name redis \ -v /mydata/redis/data:/data \ -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ -d redis redis-server /etc/redis/redis.conf
-
配置redis持久化
#持久化 echo "appendonly yes" >> /mydata/redis/conf/redis.conf #设置密码 echo "requirepass root" >> /mydata/redis/conf/redis.conf # 重启生效 docker restart redis
七、容器随docker启动自动运行
# mysql
docker update mysql --restart=always
# redis
docker update redis --restart=always
八、docker安装Elasticsearch、Kibana
-
拉取镜像文件
# 存储和检索数据 docker pull elasticsearch:7.4.2 # 可视化检索数据 docker pull kibana:7.4.2
-
配置挂载数据文件夹
# 创建配置文件目录 mkdir -p /mydata/elasticsearch/config # 创建数据目录 mkdir -p /mydata/elasticsearch/data # 将/mydata/elasticsearch/文件夹中文件都可读可写 chmod -R 777 /mydata/elasticsearch/ # 配置任意机器可以访问 elasticsearch echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml
-
启动Elasticsearch
docker run --name elasticsearch --restart=always -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.4.2 # -p 9200:9200 -p 9300:9300:向外暴露两个端口,9200用于HTTP REST API请求,9300 ES 在分布式集群状态下 ES 之间的通信端口; # -e "discovery.type=single-node":es 以单节点运行 # -e ES_JAVA_OPTS="-Xms64m -Xmx512m":设置启动占用内存,不设置可能会占用当前系统所有内存 # -v:挂载容器中的配置文件、数据文件、插件数据到本机的文件夹; # -d elasticsearch:7.6.2:指定要启动的镜像 #访问 IP:9200 看到返回的 json 数据说明启动成功。
-
启动可视化Kibana
docker run --name kibana --restart=always \ -e ELASTICSEARCH_HOSTS=http://192.168.0.11:9200 \ -p 5601:5601 \ -d kibana:7.4.2 # -e ELASTICSEARCH_HOSTS=http://192.168.0.11:9200: 这里要设置成自己的虚拟机IP地址 # http://192.168.0.11:5601/
九、开放端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=9200/tcp --permanent
[root@localhost ~]# systemctl restart firewalld.service
十、docker安装Nacos
方法一:没有配置MySQL安装
docker pull nacos/nacos-server:1.2.1 #可更换你需要的版本
docker run --name nacos -d -p 8848:8848 --privileged=true \
--restart=always \
-e JVM_XMS=512m \
-e JVM_XMX=2048m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/nacos/logs:/home/nacos/logs \
nacos/nacos-server:1.2.1
方法二:配置MySQL(ip,port,账号,密码,数据库名)
1.在docker容器里面查找MySQL容器启动ip命令
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql:5.7
#在最下面位置——IPAddress
2.启动安装nacos
docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=172.17.0.3 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos \
-v /home/nacos/logs:/home/nacos/logs \
-p 8848:8848 --privileged=true \
--restart=always \
--name nacos \
nacos/nacos-server:1.4.2
十、docker安装sentinel
docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard:1.7.1
十一、docker安装RabbitMQ
1.拉取镜像
#指定版本,该版本包含了web控制页面
docker pull rabbitmq:management
2.1.运行方式一
#方式一:默认guest 用户,密码也是 guest
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
#方式二:设置用户名和密码
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:management
2.2.运行方式二
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
#4369,25672(Erlang发现&集群端口)
#5672,5671(AMQP端口)
#15672 (web管理后台端口)
#61613,61614(STOMP协议端口)
#1883,8883(MQTT协议端口)
3.访问ui界面
http://localhost:15672/
十二、docker安装minio
docker run --name minio \
-p 9999:9999 \
-d --restart=always \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio123" \
-v /mydata/minio/data:/data \
-v /mydata/minio/config:/root/.minio \
minio/minio server /data \
--console-address '0.0.0.0:9999'
十三、docker安装nginx
这里介绍如何使用 docker 安装 nginx,首先我们先启动一个临时的 nginx,将它的配置拷贝到我们将要挂载的本机 nginx 配置目录中,之后再创建一个新的我们要用的 nginx 容器。
- 创建要挂载的配置目录
mkdir -p /mydata/nginx/conf
- 启动临时nginx容器
docker run -p 80:80 --name nginx -d nginx:1.10
- 拷贝出 Nginx 容器的配置
# 将nginx容器中的nginx目录复制到本机的/mydata/nginx/conf目录
docker container cp nginx:/etc/nginx /mydata/nginx/conf
# 复制的是nginx目录,将该目录的所有文件移动到 conf 目录
mv /mydata/nginx/conf/nginx/* /mydata/nginx/conf/
# 删除多余的 /mydata/nginx/conf/nginx目录
rm -rf /mydata/nginx/conf/nginx
- 删除临时nginx容器
# 停止运行 nginx 容器
docker stop nginx
# 删除 nginx 容器
docker rm nginx
- 启动 nginx 容器
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf/:/etc/nginx \
-d nginx:1.10
- 设置 nginx 随 Docker 启动
docker update nginx --restart=always
- 测试 nginx
echo '<h1><a target="_blank" href="https://gitee.com/liyanhau/mall-background">谷粒商城源码</a></h1>' \
>/mydata/nginx/html/index.html
- 打开ip:80 测试
1、Maven配置
-
配置阿里云镜像
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
-
配置jdk1.8编译项目
<profiles> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.source> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> </profiles>
2、快速开发-生成代码
-
通过人人开源生成代码
后台管理系统:https://gitee.com/renrenio/renren-fast
-
若依
参考:http://doc.ruoyi.vip/ruoyi/
3、前端Vue依赖安装
-
npm install
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ npm config set registry http://registry.npm.taobao.org/ npm install 或 npm install --registry=https://registry.npm.taobao.org npm run dev