记录一次基于docker的网站架构方案

news/2024/5/15 11:34:28/文章来源:https://blog.csdn.net/qq_39562468/article/details/102481224

这个是网站的大概架构

ps:dc监控用于监控容器状态,以及查看容器运行日志,快速启动容器

rancher用于快速升级以及快速部署服务,以及做了一个高可用防止容器宕机(容器需要写docker-compose)

zabbix用于监控linux底层,并且写了邮箱告警,之所以放在底层没用到docker是觉得监控放在被监控服务当中一旦出问题很难排查

当然还用到了nginx做了高可用

只是一个很简单的练笔,因为资源有限用的4g2h所以服务不多

这边只记录下底层架构,网页端就不记录了

下面是搭建步骤,单纯记录不建议复制

 

安装docker

yum install -y docker

查看docker版本

[root@mwc yum.repos.d]# docker version

Client:

 Version:         1.13.1

 API version:     1.26

 

然后更新内核

yum install -y kernel

启动docker

systemctl start docker

 

部署rancher

docker run -d --restart=always -p 8081:8081 rancher/server

给rancher添加仓库节点

sudo docker run -e CATTLE_AGENT_IP="192.168.200.128"  --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://192.168.200.128:8080/v1/scripts/2D26D925591E7F49BFBA:1546214400000:R1VFN39Ek5ZL09BIa9aP4KrGJ4

启动完成登陆查看

启动tomact服务

docker run --name tomcat -p 8080:8080 -v $ PWD / test :/ usr / local / tomcat / webapps / test - d tomcat 

将tomact目录挂载到本目录的/test文档下

 

使用脚本安装容器监控软件

 

安装完成后输入ip+端口进入界面等待一会

 

 

然后安装nginx作为反向代理和负载均衡器

因为这块我们需要部署到客户电脑所以说采用的是dockerfile打包

其Dockerfile如下:

 

其weiphp.cluby.cn.conf如下

 

php环境代码如下

其docker-compose如下

 

接下来准备监控部署

部署Prometheus + Grafana

采用rancher一键部署两个应用

部署zabbix

安装mysql-server

 

安装zabbix-server-mysql

 

安装zabbix-web-nginx-mysql

 

 

 

 

 

#!/bin/bash

 

# zabbix env

# 定义zabbix数据库的库名

export Z_database_name=zabbix

# 新增数据库的用户

export Z_database_user=zabbix

# 上述用户的密码

export Z_database_user_password=zabbix_pwd

# root用户的密码,建议建立好后改掉密码

export Z_database_root_password=root_pwd

# zabbix 网页的端口

export Z_port=80

export Z_name=MyZabbix

export Z_tz=Asia/Shanghai

 

 

 

# cat docker-compose.yml

version: "3"

services:

  mysql-server-for-z:

    image: mysql:5.7

    container_name: mysql-server-for-z

    environment:

      - MYSQL_DATABASE=${Z_database_name}

      - MYSQL_USER=${Z_database_user}

      - MYSQL_PASSWORD=${Z_database_user_password}

      - MYSQL_ROOT_PASSWORD=${Z_database_root_password}

    volumes:

      - "${PWD}/mysql:/var/lib/mysql"

 

  zabbix-server-mysql:

    image: zabbix/zabbix-server-mysql:latest

    container_name: zabbix-server-mysql

    environment:

      - DB_SERVER_HOST=mysql-server-for-z

      - MYSQL_DATABASE=${Z_database_name}

      - MYSQL_USER=${Z_database_user}

      - MYSQL_PASSWORD=${Z_database_user_password}

      - MYSQL_ROOT_PASSWORD=${Z_database_root_password}

    ports:

      - "10051:10051"

    links:

      - mysql-server-for-z:mysql

    depends_on:

      - mysql-server-for-z

  zabbix-web-nginx-mysql:

    image: zabbix/zabbix-web-nginx-mysql:latest

    container_name: zabbix-web-nginx-mysql

    environment:

      - DB_SERVER_HOST=mysql-server-for-z

      - MYSQL_DATABASE=${Z_database_name}

      - MYSQL_USER=${Z_database_user}

      - MYSQL_PASSWORD=${Z_database_user_password}

      - MYSQL_ROOT_PASSWORD=${Z_database_root_password}

      - ZBX_SERVER_NAME=${Z_name}

      - TZ=${Z_tz}

    ports:

      - "${Z_port}:80"

    links:

      - mysql-server-for-z:mysql

      - zabbix-server-mysql:zabbix-server

    depends_on:

      - zabbix-server-mysql  

 

 

docker日志清理脚本

docker全自动安装脚本

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_883740.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

18个配色(色彩搭配)资源网站——设计师福利

无论是在品牌视觉形象的展示,还是传统广告和数字营销领域的推广,色彩搭配实在太重要了!然而,我们通常所说的:这个品牌真高端!真大气!最重要因素是由色彩搭配决定的,这个是给人最直接…

网站的关键!教你13步打造漂亮的WEB字体

今天,大多数浏览器已经默认支持Web字体,日趋增多的字体特性被嵌入最新版HTML和CSS标准中,Web字体即将迎来一个趋于复杂的崭新时代。这意味着网页设计师需要重新审视经典的字体规则——而这并非故事的结束。 印刷字体是静态的,而网…

大型网站架构系列:电商网站架构案例(1)

大型网站架构是一个系列文档,欢迎大家关注。本次分享主题:电商网站架构案例。从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。除具备功能需求外,还具备一定的高性能&#xff0…

大型网站架构系列:电商网站架构案例(2)

电网网站架构案例系列的第二篇文章。主要讲解网站架构分析,网站架构优化,业务拆分,应用集群架构,多级缓存,分布式Session。 五、网站架构分析 根据以上预估,有几个问题: 需要部署大量的服务器&…

大型网站架构系列:电商网站架构案例(3)

本文章是电商网站架构案例的第三篇,主要介绍数据库集群,读写分离,分库分表,服务化,消息队列的使用,以及本电商案例的架构总结。 6.5数据库集群(读写分离,分库分表) 大型网…

大型网站架构系列:负载均衡详解(1)

面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分…

大型网站架构系列:负载均衡详解(3)

本次分享大纲 软件负载均衡概述Ngnix负载均衡Lvs负载均衡Haproxy负载均衡本次分享总结 一、软件负载均衡概述 硬件负载均衡性能优越,功能全面,但是价格昂贵,一般适合初期或者土豪级公司长期使用。因此软件负载均衡在互联网领域大量使用。常用…

大型网站架构系列:负载均衡详解(4)

本文是负载均衡详解的第四篇,主要介绍了LVS的三种请求转发模式和八种负载均衡算法,以及Haproxy的特点和负载均衡算法。具体参考文章,详见最后的链接。 三、LVS负载均衡 LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于19…

大型网站架构系列:分布式消息队列(一)

以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。 本次分享大纲 消息队列概述消息队列应用场景消息中间件示例JMS消息服务(见第二篇:大…

大型网站架构系列:消息队列(二)

本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka)。【第二篇的内容大部分为网络资源的整理和汇…

12个最佳的免费学习编程的游戏网站

在这篇文章中,我们对 200 多个编程游戏网站的各个方面进行了评估,包括是否免费、是否自由开源、是面对菜鸟还是有经验的程序员、支持的编程语言等等,然后遴选出这 12 个上佳的免费的编程游戏网站,希望能让你或你的朋友(或者你的孩…

11个最值得Java开发者收藏的网站

Java是一种面向对象的编程语言,由Sun Microsystems公司在1995年的时候正式发布。直到今天,Java都一直是最受欢迎的编程语言之一。如今,Java应用于各种各样的技术领域,例如网站开发、Android开发、游戏开发、大数据等等。 在世界各…

2020-08-27 KK日记,记录一下使用flask做的看小说网站

1、前言 虽然一直干着运维的工作,但是对编程却有莫名的兴趣,于是就依仗着大学时的一些编程基础,在空闲时间自学了python、flask框架、bootstrap、jquery,html等。并用此写了一个看爽文的“工具”。 2、设计思路 通过爬虫爬取感兴…

【易懂教程】在Github上搭建网站

首先,还是要说一下“写在前面的话”,文章属于个人学习笔记,抛砖引玉,希望能对你有微薄的帮助。 操作步骤: 既然是易懂教程,当然是图文并茂更能让你理解,将会大量采用图文形式进行讲解。 首先你…

手把手教你搭建网站环境——基于node后台的web服务

战前准备 下载好xftp(必备,用于上传你要部署的文件);xshell作为windows而言是个非常好用的工具,不过像阿里本来就有控制台,倒不是必备,但是那个控制塔的字符丑得一匹,实在看不下去,我用xhell只…

网站/织梦首页或文章分享微信带缩略图和简介

1.在微信公众号号的基本设置里 2.公众号设置-功能设置-绑定好对应的域名 3.然后下载wechat.php文件下载,放在网站根目录(下方提供了下载地址) 4.把这段代码放到需要的页面里,url改成自己的域名 ig({ debug: 0,//如果分享失败&a…

如何实现分享网站文章到微信朋友圈时显示指定缩略图或LOGO

微信在分享第三方网站是不显示缩略图和描述的,如下图所示 要解决这个问题必须调用微信JS-SDK接口,下面讲一下如何调用接口 方法一: 第一部分 准备步骤 注册微信公众号。 通过左侧导航“开发”–“基本配置”进入。通过开发者ID及密码调用获取…

我的第一篇文章 ^_^庆祝我的个人网站开张

长沙开始下雨了,早上出去冻的不行,这就是南方的天气,没办法。想想我将要去读研的哈尔滨,现在已经在10度一下了,真不知道到时候怎么过。 下午去交研究生登记表,一份成绩单要盖4个章,每次办个什么…

discuz网站没备案无执照接入支付宝充值功能

discuz个人网站没备案无执照接入支付宝充值功能 文章目录 事情是这样的一、支付宝当面付是什么?二、如何申请当面付接口1.登录 支付宝商家中心2.点击“产品中心”,支付产品中选择当面付3.点击“立即开通”4.按步骤填写 三、创建应用及生成公钥和私钥1.登…