当前位置: 首页 > news >正文

如何对网站做压力测试百度推广客户端下载

如何对网站做压力测试,百度推广客户端下载,佛山优化公司推广,门户媒体是指什么文章目录 1、前言1.1、部署 MySQL 容器的 3 种类型1.2、M2芯片类型问题 2、具体实现2.1、单独部署 mysql 供宿主机访问2.1.1、文件夹结构2.1.2、docker-compose.yml 内容2.1.3、运行 2.2、单独部署 mysql 容器供其它容器访问(以 apollo 为例)2.2.1、文件…

文章目录

  • 1、前言
    • 1.1、部署 MySQL 容器的 3 种类型
    • 1.2、M2芯片类型问题
  • 2、具体实现
    • 2.1、单独部署 mysql 供宿主机访问
      • 2.1.1、文件夹结构
      • 2.1.2、docker-compose.yml 内容
      • 2.1.3、运行
    • 2.2、单独部署 mysql 容器供其它容器访问(以 apollo 为例)
      • 2.2.1、文件夹结构
      • 2.2.2、docker-compose.yml 内容
      • 2.2.3、运行
      • 2.2.4、 客户端配置
    • 2.3、使用一个 compose 文件,同时部署 mysql 和其它容器(以 apollo 为例)
      • 2.3.1、文件夹结构
      • 2.3.2、compose 文件内容
      • 2.3.3、运行
      • 2.3.4、 客户端配置
  • 3、附录
    • 3.1、调试可能用到的命令
    • 3.2、apollo 配置参考

1、前言

1.1、部署 MySQL 容器的 3 种类型

在容器中部署 Mysql 会有三种网络分布类型:

  • 单独部署 mysql 容器,宿主机通过端口映射访问 容器 mysql

  • 使用两个 compose 文件,分别部署 mysql 容器和其它容器(比如 apollo 的 config-service、admin-service、portal)

  • 使用一个 compose 文件,同时部署 mysql 和其它容器(比如 apollo 的 config-service、admin-service、portal),其它容器通过mysql容器名:容器端口访问 mysql,此时相当于一次部署了 4 个容器

1.2、M2芯片类型问题

容器来自镜像,而镜像和芯片架构有关。
部署完容器之后,又会涉及一些工具软件(比如 workbench)的适配问题。

一般而言,使用 compose 直接使用 镜像名:latest 即可,但是使用 Mysql,为了寻求 M2芯片&mysql镜像&workbench 适配,我们需要增加一些特殊配置。

  • 指定架构类型
    platform: linux/amd64 #x86_64 系统(大多数桌面和服务器)
    platform: linux/arm64 #ARM64 系统(例如 Apple M1/M2
    platform: linux/arm/v7 #32 位 ARM 系统(例如旧版 Raspberry Pi)

  • 指定 镜像版本

image: mysql:8.0.30

2、具体实现

2.1、单独部署 mysql 供宿主机访问

2.1.1、文件夹结构

sql 可以放置 xxx.sql 脚本,不过建议容器启动后,再手动执行。
data 为宿主机挂载容器的数据目录。
在这里插入图片描述

2.1.2、docker-compose.yml 内容

# 如果需要自定义共享网络 
# docker network create bestcxx-network
# 自定义工程名称,默认文件夹名,影响注册网络名,AAA_网络名,或者 docker-compose -p diy_project_name up 启动时定义
# 外部连接时,需要 &allowPublicKeyRetrieval=true 以支持明文连接数据库
version: '3.8'services:mysql-db-withdata:#platform:  linux/arm64 #非 arm 架构芯片可以注释本行image: mysql:8.0.30 #M2 版本 8.0.30,目前最新 workbench 最高到 8  #非 arm 架构芯片可以写 image: mysql:latestcontainer_name: mysql-db-withdatarestart: alwaysports:- "13306:3306"environment:MYSQL_ROOT_PASSWORD: rootadminMYSQL_DATABASE: apollodbMYSQL_USER: userapolloMYSQL_PASSWORD: userapollovolumes:#- ./sql:/docker-entrypoint-initdb.d # 自动加载运行 /sql 目录下的脚本 xxx.sql- ./data:/var/lib/mysql # 在宿主机持久化数据networks:bestcxx-network:
networks:bestcxx-network:

2.1.3、运行

在 Mysql 文件夹目录下执行

# docker-compose stop
docker-compose up -d

2.2、单独部署 mysql 容器供其它容器访问(以 apollo 为例)

最终容器运行形态展示
在这里插入图片描述

这里需要为两个容器创建一个共同的容器网络。
默认情况下,每启动一个容器,会自动创建一个 文件夹_网络名 的容器网络,当多个 compose 文件启动容器时,可以在命令行加入配置,使得不同的 compose 启动的多个容器使用共同的容器名、内部定义相同的网络名——最终共享同一个容器网络。

  • 创建一个容器网络,网络名为 bestcxx-network
docker network create bestcxx-network
  • compose 使用指定工程名,实际出册网络为 工程名_compose设置的网络名
# 默认会以文件夹作为工程名 docker-compose up -d
docker-compose -p diy_project_name up # 以 diy_project_name 作为工程名
  • compose 设定使用外部已有网络

如下,使用名为 bestcxx-network 的外部网络

networks:bestcxx-network:external: true
  • 查看容器网络列表
docker network ls
  • 删除容器网络
docker network rm  mysql_bestcxx-network

2.2.1、文件夹结构

  • mysql
    sql 可以放置 xxx.sql 脚本,不过建议容器启动后,再手动执行。
    data 为宿主机挂载容器的数据目录。
    在这里插入图片描述
  • apollo
    在这里插入图片描述

2.2.2、docker-compose.yml 内容

  • mysql
# 如果需要自定义共享网络 
# docker network create bestcxx-network
# 自定义工程名称,默认文件夹名,影响注册网络名,AAA_网络名,或者 docker-compose -p diy_project_name up 启动时定义
# 外部连接时,需要 &allowPublicKeyRetrieval=true 以支持明文连接数据库
version: '3.8'services:mysql-db-withdata:#platform:  linux/arm64 #非 arm 架构芯片可以注释本行image: mysql:8.0.30 #M2 版本 8.0.30,目前最新 workbench 最高到 8  #非 arm 架构芯片可以写 image: mysql:latestcontainer_name: mysql-db-withdatarestart: alwaysports:- "13306:3306"environment:MYSQL_ROOT_PASSWORD: rootadminMYSQL_DATABASE: apollodbMYSQL_USER: userapolloMYSQL_PASSWORD: userapollovolumes:#- ./sql:/docker-entrypoint-initdb.d # 自动加载运行 /sql 目录下的脚本 xxx.sql- ./data:/var/lib/mysql # 在宿主机持久化数据networks:bestcxx-network:
networks:bestcxx-network:external: true
  • apollo

version: '3.6'
services:config-service:image: apolloconfig/apollo-configservicecontainer_name: apollo-config-servicehostname: config-serviceenvironment:#- SPRING_DATASOURCE_URL=jdbc:mysql://host.docker.internal:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8- SPRING_DATASOURCE_URL=jdbc:mysql://mysql-db-withdata:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8&allowPublicKeyRetrieval=true- SPRING_DATASOURCE_USERNAME=userapollo- SPRING_DATASOURCE_PASSWORD=userapollo- JAVA_OPTS=-Deureka.instance.homePageUrl=http://127.0.0.1:8080ports:- 8080:8080 # 宿主机端口 : 容器端口networks:bestcxx-network:admin-service:image: apolloconfig/apollo-adminservicecontainer_name: apollo-admin-servicehostname: admin-serviceenvironment:#- SPRING_DATASOURCE_URL=jdbc:mysql://host.docker.internal:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8- SPRING_DATASOURCE_URL=jdbc:mysql://mysql-db-withdata:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8&allowPublicKeyRetrieval=true- SPRING_DATASOURCE_USERNAME=userapollo- SPRING_DATASOURCE_PASSWORD=userapollo- CONFIGSERVICE_URL=http://config-service:8080- JAVA_OPTS=-Deureka.instance.homePageUrl=http://admin-service:8090ports:- 8090:8090depends_on:- config-servicenetworks:bestcxx-network:portal:image: apolloconfig/apollo-portalcontainer_name: apollo-portalhostname: portalenvironment:#- SPRING_DATASOURCE_URL=jdbc:mysql://host.docker.internal:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8- SPRING_DATASOURCE_URL=jdbc:mysql://mysql-db-withdata:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8&allowPublicKeyRetrieval=true- SPRING_DATASOURCE_USERNAME=userapollo- SPRING_DATASOURCE_PASSWORD=userapollo- APOLLO_PORTAL_ENVS=dev- DEV_META=http://config-service:8080- JAVA_OPTS=-Deureka.instance.homePageUrl=http://portal:8070ports:- 8070:8070depends_on:- config-service- admin-servicenetworks:bestcxx-network:networks:bestcxx-network:external: true

2.2.3、运行

  • 创建网络
docker network create bestcxx-network

在这里插入图片描述

  • 以指定工程名方式启动 mysql
    在 Mysql 文件夹下执行
docker-compose -p diy_project_name up

然后进行操作(建议使用 workbench)

#给用户 userapollo 授权-可以全部授权CREATEUSER'userapollo'@'%' IDENTIFIED BY'userapollo';GRANTALL PRIVILEGES ON ApolloConfigDB.*TO'userapollo'@'%';GRANTALL PRIVILEGES ON ApolloPortalDB.*TO'userapollo'@'%';FLUSH PRIVILEGES;#创建数据库:
CREATE DATABASE ApolloConfigDB;
CREATE DATABASE ApolloPortalDB;#执行 apollo 官方建表&初始化 sql
https://github.com/apolloconfig/apollo/tree/master/scripts/sql# 执行开发环境适配 sql
UPDATE `ApolloConfigDB`.`ServerConfig` SET `Value` = 'http://config-service:8080/eureka/' WHERE (`Id` = '1');
UPDATE `ApolloPortalDB`.`ServerConfig` SET `Value` = '{\"dev\":\"http://config-service:8080\"}' WHERE (`Id` = '8');
  • 以指定工程名方式启动 apollo
    在 Apollo 文件夹下执行
docker-compose -p diy_project_name up

2.2.4、 客户端配置

{"apollo": {"AppId": "helloabp","Env": "dev","Cluster": "default","MetaServer": "http://localhost:8080","Namespaces": ["hello.web.json"]},"ClientId": "bestcxxLocal"
}

2.3、使用一个 compose 文件,同时部署 mysql 和其它容器(以 apollo 为例)

  • 最终形态
    在这里插入图片描述
  • 容器网络
    在这里插入图片描述

2.3.1、文件夹结构

sql 可以放置 xxx.sql 脚本,不过建议容器启动后,再手动执行。
data 为宿主机挂载容器的数据目录。
在这里插入图片描述

2.3.2、compose 文件内容

  • ApolloMysql
version: '3.6'services:mysql-db-withdata:#platform:  linux/arm64 #非 arm 架构芯片可以注释本行image: mysql:8.0.30 #M2 版本 8.0.30,目前最新 workbench 最高到 8  #非 arm 架构芯片可以写 image: mysql:latestcontainer_name: mysql-db-withdatarestart: alwaysports:- "13306:3306"environment:MYSQL_ROOT_PASSWORD: rootadminMYSQL_DATABASE: apollodbMYSQL_USER: userapolloMYSQL_PASSWORD: userapollovolumes:- ./sql:/docker-entrypoint-initdb.d # 自动加载运行 /sql 目录下的脚本 xxx.sql- ./data:/var/lib/mysql # 在宿主机持久化数据networks:apollo-network:config-service:image: apolloconfig/apollo-configservicecontainer_name: apollo-config-servicehostname: config-serviceenvironment:- SPRING_DATASOURCE_URL=jdbc:mysql://mysql-db-withdata:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8&allowPublicKeyRetrieval=true- SPRING_DATASOURCE_USERNAME=userapollo- SPRING_DATASOURCE_PASSWORD=userapollo- JAVA_OPTS=-Deureka.instance.homePageUrl=http://127.0.0.1:8080 #配置为 http://config-service:8080 可避免 http://127.0.0.1:8070/system_info.html check 报错,但是需要额外 /etc/hosts 配置ports:- 8080:8080 # 宿主机端口 : 容器端口networks:apollo-network:admin-service:image: apolloconfig/apollo-adminservicecontainer_name: apollo-admin-servicehostname: admin-serviceenvironment:- SPRING_DATASOURCE_URL=jdbc:mysql://mysql-db-withdata:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8&allowPublicKeyRetrieval=true- SPRING_DATASOURCE_USERNAME=userapollo- SPRING_DATASOURCE_PASSWORD=userapollo- CONFIGSERVICE_URL=http://config-service:8080- JAVA_OPTS=-Deureka.instance.homePageUrl=http://admin-service:8090ports:- 8090:8090depends_on:- config-servicenetworks:apollo-network:portal:image: apolloconfig/apollo-portalcontainer_name: apollo-portalhostname: portalenvironment:- SPRING_DATASOURCE_URL=jdbc:mysql://mysql-db-withdata:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8&allowPublicKeyRetrieval=true- SPRING_DATASOURCE_USERNAME=userapollo- SPRING_DATASOURCE_PASSWORD=userapollo- APOLLO_PORTAL_ENVS=dev- DEV_META=http://config-service:8080- JAVA_OPTS=-Deureka.instance.homePageUrl=http://portal:8070ports:- 8070:8070depends_on:- config-service- admin-servicenetworks:apollo-network:networks:apollo-network:driver: bridge

2.3.3、运行

  • 以指定工程名方式启动 mysql
    在 ApolloMysql 文件夹下执行
docker-compose up -d

此时数据库启动,其余三个服务启动失败

  • 然后进行操作(建议使用 workbench)
#给用户 userapollo 授权-可以全部授权
CREATEUSER'userapollo'@'%' IDENTIFIED BY'userapollo';GRANTALL PRIVILEGES ON ApolloConfigDB.*TO'userapollo'@'%';GRANTALL PRIVILEGES ON ApolloPortalDB.*TO'userapollo'@'%';FLUSH PRIVILEGES;#创建数据库:
CREATE DATABASE ApolloConfigDB;
CREATE DATABASE ApolloPortalDB;#执行 apollo 官方建表&初始化 sql
https://github.com/apolloconfig/apollo/tree/master/scripts/sql# 执行开发环境适配 sql
UPDATE `ApolloConfigDB`.`ServerConfig` SET `Value` = 'http://config-service:8080/eureka/' WHERE (`Id` = '1');
UPDATE `ApolloPortalDB`.`ServerConfig` SET `Value` = '{\"dev\":\"http://config-service:8080\"}' WHERE (`Id` = '8');
  • 然后依次启动 config-service、admin-service、portal
    portal 可能还会少量报错,这是因为初始化配置需要发布下

2.3.4、 客户端配置

{"apollo": {"AppId": "helloabp","Env": "dev","Cluster": "default","MetaServer": "http://localhost:8080","Namespaces": ["hello.web.json"]},"ClientId": "bestcxxLocal"
}

3、附录

3.1、调试可能用到的命令

docker-compose stop 
docker-compose up -d 

3.2、apollo 配置参考

{"MyApollo": {"Name": "bestcxx"}
}
http://www.zhongyajixie.com/news/59682.html

相关文章:

  • 做soho一定要做网站吗百度大搜
  • 深圳 网站建设培训学管理培训班去哪里学
  • 凯里网站设计品牌推广是做什么的
  • 网站三要素怎么做线上推广宣传方式有哪些
  • 电子商务网站建设理解sem是什么品牌
  • 宿迁定制网站建设成人培训班有哪些课程
  • 网站建设服务费税率多少seo外包资讯
  • 设计一个网站加盟教育培训机构
  • 如何让自己的网站被搜索引擎收录如何自己开发网站
  • 点餐网站模板火星时代教育培训机构怎么样
  • 创意网站 模板莆田seo推广公司
  • 织梦网站上传及安装步骤短视频营销常用平台有
  • 唐山网站建设哪家专业杭州网络推广公司
  • 女生做网站开发爱站网ip反查域名
  • 室内设计素材网站推荐北京官网seo收费
  • 搜索自媒体平台广州seo网站优化培训
  • 用路由器做网站百度指数数据分析报告
  • 重庆环保公司网站建设优化网站性能
  • wordpress 微信采集插件seo的优化方案
  • 郑州建设委员会网站信息平台网站运营指标
  • 图片搜集网站怎么做搜索引擎优化目标
  • 做网站需要招什么如何搭建网站
  • 水头做网站的公司中国营销传播网官网
  • 简述网站建设小组的五类成员网站关键词优化工具
  • @安徽网站建设吉林网络seo
  • 湖南长沙疫情最新数据消息seo成功的案例和分析
  • 做网站的备案资料小程序推广引流
  • 网页设计网站教程今日重大国际新闻军事
  • 怎么优化网站关键词排名最新域名ip地址
  • 做火锅加盟哪个网站好网站优化 福州