经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过,整个部署过程中需要手动输入很多的docker命令,稍显繁琐并且容易出错.那么有没有一种相对简洁优雅的方式来完成这些部署工作呢?答案是有的,docker-compose(一下简称“compose”)正是为此而生. 关于docker-compose(了解更多:https://docs.docker.co…
上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进入正题. 首先拉取mysql镜像: docker pull mysql:5.7 创建本地mysql目录: mkdir -p ~/mysql/data ~/mysql/conf ~/mysql/logschmod -R 777 ~/mysql/logs 在mysql/conf目录下创建配置文件my.c…
架构说明: 使用nginx+tomcat实现动态/静态(资源请求)分离和负载均衡. 参考文档: https://www.runoob.com/docker/docker-tutorial.html 配置docker镜像仓库:/etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com", "http://hub-mirror.c.163.com", &…
kubernetes集群已经部署好了,需要的话可以参考之前的文章https://www.cnblogs.com/winter1519/p/10015420.html [root@master tomcat]# kubectl get nodesNAME      STATUS    AGEnode1     Ready     10dnode2     Ready     10d部署nginx 需要三个配置文件: [root@master nginx]# vim nginx-pod.yaml a…
整体环境配置 整体环境的配置,如果一个一个 Dockerfile 去写,那么是相当麻烦的,好在 Docker 有一个名为 Docker-Compose 的工具提供,我们可以使用它一次性完成整体环境的配置: 首先我们看看 docker-compose.yml 配置文件的内容:version: "3"services:  mysql:    container_name: mysql    image: 192.168.1.30:5000/mysql:5.7                …
拉取tomcat镜像 docker pull tomcat 运行两个tomcat容器 docker run -d -p 8088:8080 --name tomcat8088 tomcat docker run -d -p 8089:8080 --name tomcat8089 tomcat 修改下index.jsp把两个tomcat区别开来 docker psdocker exec -it 01c626690608 /bin/bash cd webapps/ROOT/ echo "<h1…
jdk安装: -openjdk 参考:https://blog.csdn.net/dhr201499/article/details/81626466 tomcat安装: 使用版本:8.5.37 参考:https://www.cnblogs.com/wishwzp/p/7113410.html 异常:Tomcat报java.io.IOException: 打开的文件过多 服务器端修改: 查看系统允许打开的最大文件数 #cat /proc/sys/fs/file-max 查看每个用户允许打开的最大…
1.首先拉取环境  tomcat需要用到jdk环境 提前准备好nginx源码包,放于指定目录下 vim test.sh #!/bin/bash yum -y install gcc gcc-c++ zlib-devel pcre-devel tar zxf nginx-1.16.1.tar.gz cd nginx-1.16.1 && ./configure && make && make install cd /root && rpm -iv…
http://blog.csdn.net/ofofw/article/details/46791447…
1. Mysql部署 问题及解决方案 容器内的网络和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口撒谎那个.外部机器访问宿主机的该端口,从而间接访问容器的服务.(这种操作称为端口映射) #搜索mysql镜像 docker search mysql #拉取mysql镜像 docker pull mysql:5.6 #在/root目录下创建mysql目录用于存储mysql数据信息 mk…
上一篇分享了 Nginx + Tomcat 反向代理 负载均衡 集群 部署指南,感觉还是相当实用型的,但是一般集群部署是基于大访问量的,可能有的企业用不到,类似一些企业官网,访问量并不是很大,基于这个新需求,今天专门为大家分享一下 Nginx + Tomcat 反向代理 如何在一台服务器部署多个站点,节省服务器开支,就在这篇文章了. 首先我们需要安装好Nginx.jdk.Tomcat,安装方法已经在 上一篇 说过了,本篇不再赘述. 下来看一下我们的需求,我这里有三个网站项目工程需要部署(依次对应…
Nginx + Tomcat 实现负载均衡,动静分离集群部署 1.Nginx实现负载均衡原理 2.Nginx配置反向代理主要参数 3.实验 1.Nginx实现负载均衡原理: Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发. 但是不是把所有的web请求转发,而是将静态页面请求Nginx服务器自己来处理,动态页面请求,转发给后端的Tomcat服务器来处理. 据我们所知,Tomcat是属于轻量级的应用服务器,可接受访问量可能会不足,所以我们需要多台Tom…
我只有一台服务器,但我想在这台服务器上运行多个项目,怎么办? 总不能靠加端口区分吧? 百度和Google是个好东西,于是我找到了答案,使用nginx. 通过nginx,我可以给我的一台服务器配置两个域名,然后通过不同的域名访问我的两个项目. 实现方式 大概流程是这么玩的,你在服务器配置好nginx,让nginx监听80(http端口)和443(https端口),然后在nginx配置文件写明转发到哪里. 比如我有一个博客系统,还有一个邮件系统. 为了区分开,我给了这两个项目分别两个域名:blog.…
本文力图阐述在 Ubuntu Server 环境下使用 Keepalived + Nginx + Tomcat 搭建高可用负载均衡环境的操作步骤和简约配置,这里不涉及性能调优.先说一下他们各自扮演的角色: Tomcat – 应用服务器 Nginx – 反向代理服务器,作为负载均衡器 Keepalived – 用以检测 Nginx 状态,保证高可用 整个环境都在Virtual Box中的虚拟机上完成,以下是要完成此环境需要的软件: Oracle VM Virtual Box 4.3 Ubuntu…
关于docker中tomcat的搭建,没有什么多说的,直接下载官方镜像 docker pull tomcat  (可能会下载到好几个镜像,就是tag不同,有知道为什么的可以告诉我) 然后我看的  https://registry.hub.docker.com/_/tomcat/    中的描述docker run -it --rm -p 8888:8080 tomcat:8.0 然后 在网页中显示正常.可是没说挂载数据的东西. 我先登录进容器,然后,查看好需要挂载出来的数据,然后再重新启动一个容…
本人经过多次尝试,简单完成了自动部署Nginx和nfs脚本,并且能够自动部署web反向代理集群,下面详细的阐述一下本人的思路.(以下脚本本人处于初学阶段,写的并不是很完善,所以需要后期进行整理和修正,请高手能够多多指教.) 本脚本需要注意的是: 1.这是针对centOS6.8,32位操作系统写的脚本文件,如果想在cenOS7中运行,就需要有些改动 2.这个脚本需要先安装代理服务器部分,再安装反向代理服务器,因为涉及到共享文件夹挂载的问题,所以需要有先后顺序: 3.今后本人会对此脚本进行更新和完善…
一,查看tomcat镜像 [root@icompany ~]# docker search tomcat INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/tomcat Apache Tomcat is an open source implementa... [OK] docker.io docker.io/dordoka/tomcat Ubuntu and Tomcat ba... [OK] docker.…
一.原因. 1.写java程序有一段时间了,但非常久没用eclipse了.所以使用eclipse编写的web项目部署到tomcat 的方式也不是非常清楚,以下记录一下将Eclipse 上的web项目自己主动部署到tomcat 上的方式: 二.部署问题 1.这里就有个问题.是怎么把Eclipse中的站点项目自己主动部署到tomcat中. 在Eclipse中做的Web项目默认是不支持将项目公布到Webserver上的,会公布到工作空间的某个文件夹下,因此无法在外部启动Tomcat来执行Web项目,仅…
1.查看docker上的镜像 [root@holly ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.6 73829d7b6139 4 weeks ago 256MB 2.在docker上搜索tomcat镜像 [root@holly ~]# docker search tomcat 3.下载tomcat,如果pull命令后不跟版本号,则下载的是最新版本 [root@holly ~]# docker pull tomca…
1.查询nginx最新镜像 docker search nginx 2.下载镜像 docker pull nginx 3.创建目录 mkdir -p /software/nginx/html mkdir -p /software/nginx/conf mkdir -p /software/nginx/logs 4.创建config.conf文件,部分配置 创建index.html 5.运行镜像 docker run -d -p 80:80 \ --name nginx \ -v /softwar…
1.安装需要的包sudo apt install apt-transport-https ca-certificates software-properties-common curl 2.添加 GPG 密钥,并添加 Docker-ce 软件源,这里还是以中国科技大学的 Docker-ce 源为例curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-re…
目录 一.理论概述 服务发现的概念简述 consul简述 二.部署docker+consul+Nginx案例 环境 部署 三.测试 四.总结 一.理论概述 服务发现的概念简述 在以前使用的是,N台机器运行了N个服务,客户端必须要知道这N个服务各自的网络位置,以前的做法是配置在配置文件中,或者有些配置在数据库中. 问题: 需要配置N个服务的网络位置,加大配置的复杂性 每个服务如果改变网络位置,那么都需要改变每个调用者的配置,以便调用到该服务 集群的情况下,难以做负载(反向代理的方式除外) 服务发现…
通过docker可以从头开始构建集群,也可以将现有集群(配置以及数据)平滑的迁移到docker部署: 1 docker部署zookeeper # usermod -G docker zookeeper# mkdir /data# chown zookeeper.zookeeper /data# echo 1 > /data/myid# su - zookeeper$ docker run --name zookeeper --restart always -p 2181:2181 -p 2888…
Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx_tomcat/ ├── docker-compose.yml ├── mysql │   ├── conf │   │   └── my.cnf │   └── data ├── nginx │   ├── Dockerfile │   ├── nginx-1.12.1.tar.gz │   └─…
一.简介 使用Docker镜像部署Nginx代理的多个Tomcat集群: 使用Dockerfile构建nginx镜像 使用Dockerfile构建tomcat镜像 mysql镜像使用docker hub 镜像 1.1 结构 docker-compose.yml etc └── localtime mysql ├── conf │   └── my.cnf └── mysqldb nginx ├── conf.d │   └── test.conf ├── Dockerfile ├── logs…
nginx [root@iz2zeaet7s13lfkc8r3e2kz /]# docker pull nginx #下载 Using default tag: latest latest: Pulling from library/nginx afb6ec6fdc1c: Pull complete b90c53a0b692: Pull complete 11fa52a0fdc0: Pull complete Digest: sha256:30dfa439718a17baafefadf16c5e…
庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介      前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服务器上的两种方式,代码和步骤都很详尽.虽然这两篇文章都是基础性的文章,但是,对于,大家学习后面的文章都很重要,尤其是,我们以后所使用的测试项目.部署方法等相关技术都是使用这两篇文章里的方法.大家看的时候,也希望你们多多留意.从今天开始,我们将以前部署在Windows环境下的Net Core项目,一步…
docker安装使用Nginx # 搜索信息 docker search nginx # 下载镜像 docker pull nginx # 运行测试 # --name给容器命名 # -p 宿主机端口:容器内部端口 docker run -d --name nginx01 -p 3344:80 nginx # 访问 curl localhost:3344 # 进入nginx docker exec -it nginx01 /bin/bash # 查看 whereis nginx 运行成功 本机查看…
1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量,需要进行服务集群化部署,本文主要介绍服务端Tomcat多实例部署,以及如何保证web服务的高可用方案. Nginx 是一个高性能的 HTTP反向代理服务器 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免服务的单点故障 Tomcat 是一个免费的开放源代码…
想用Docker模拟一下nginx+tomcat集群部署,今天折腾了一天,遇坑无数,终于在午夜即将到来之际将整个流程走通,借本文希望给同样遇到类似问题的小伙伴们留点线索. 主机环境是CentOS 7,nginx容器作为负载均衡,两个tomcat容器模拟Java应用服务器,这三个容器部署在同一个主机上. 一.创建tomcat Docker镜像(如果你有其他的镜像,该步可略过,下同) Dockerfile: FROM centos LABEL author=Aldwin ENV JDKFile="s…