容器化的Apache服务并监控
1:基础容器编译部署apache
1.1:pull一个ubuntu 16.04的镜像
sudo docker pull ubuntu:16.04
1.2:运行容器
sudo docker run -d --name ubuntu -p 80:80 ubuntu:16.04
1.3:安装ubuntu依赖项
apt update
apt-get install vim
apt-get install net-tools
apt-get install iputils-ping
apt-get install openssh-server
apt-get install openssh-client
apt-get install lrzsz
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install make
apt-get install openssl libssl-dev
apt-get install libxml2 libxml2-dev
apt-get install zip unzip
apt-get install libexpat1-dev
apt-get install libnghttp2-dev
1.4:创建安装目录
mkdir /etc/apache2
mkdir /etc/apache2/src
cd /etc/apache2/src
1.5:下载源码并解压
如果路径失效,需要去官网下载相应的安装包
wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
wget http://apache.mirrors.lucidnetworks.net//httpd/httpd-2.4.27.tar.gz
wget http://cn2.php.net/distributions/php-7.1.8.tar.gz
tar -xvf apr-1.5.2.tar.gz
tar -xvf apr-util-1.5.4.tar.gz
tar -xvf httpd-2.4.27.tar.gz
tar -xvf php-7.1.8.tar.gz
mv -f apr-1.5.2 httpd-2.4.27/srclib/apr
mv -f apr-util-1.5.4 httpd-2.4.27/srclib/apr-util
1.6:安装依赖包zlib1g,zlib1g.dev
直接安装
sudo apt-get install libpcre3 libpcre3-dev
编译安装
在 http://jaist.dl.sourceforge.net/project/pcre/pcre/ 下载
得到文件: pcre-8.32.tar.gz
解压:tar -zxvf pcre-8.32.tar.gz
编译:
cd /home/tnuser/hunter/installers/pcre-8.32
/configure --prefix=/home/tnuser/pcre/
1.7:安装依赖包openssl和openssl-devel
直接安装
apt-get install openssl openssl-devel
下载源码编译安装
cd /etc/apache2/src
wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz
tar zxf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h
./config shared zlib
如果提示 because of configuration changes, you MUST do the following before*** building:
则需要在build之前做make depend
make depend
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
ldconfig –v
检测安装是否成功
openssl version –a
1.8:编译apache
openssl version -a
mkdir server_root
cd src/httpd-2.4.27 ./configure --prefix=/etc/apache2/server_root --with-included-apr --with-mpm=worker --enable-so --enable-nonportable-atomics=yes --enable-ssl --enable-include --enable-cgi --enable-expires --enable-status --enable-info --enable-rewrite --enable-speling
make
make install
mkdir /etc/apache2/php7
cd /etc/apache2/src/php-7.1.8
./configure --with-apxs2=/etc/apache2/server_root/bin/apxs --prefix=/etc/apache2/php7
make
make test
make install
修改httpd.conf文件
vim /etc/apache2/server_root/conf/httpd.conf
在httpd.conf文件中添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
去掉httpd.conf里ServerName前面的注释:
重启apache服务
cd /etc/apache2/server_root/bin
./apachectl start
1.9:容器打包

2:配置server-status 监控apache
2.1:server-status简介
server-status是Apache查看状态的一个功能模块,在Apache 1.3.2及以后的版本提供
2.2:打开server-status
vi /etc/apache2/server_root/conf/httpd.conf
去掉LoadModule status_module modules/mod_status.so的注释

修改Include 路径 为 /etc/apache2/server_root/conf/extra/httpd-info.conf

修改配置如下
vi /etc/apache2/server_root/conf/extra/httpd-info.conf
<Location /server-status>
SetHandler server-status
Order deny,allow
Allow from all
Allow from 10.20.7.15
</Location>

去掉ExtendedStatus On 注释

vi /etc/apache2/src/httpd-2.4.33
./configure --enable-module=so --enable-info

重启apache
cd /etc/apache2/server_root/bin
./apachectl restart
3:镜像包部署apache
3.1:拉取镜像
Docker pull registry.cn-hangzhou.aliyuncs.com/zhufc/apache-status:zhu
3.2:映射80端口
docker run -d --name apache -p 80:80 registry.cn-hangzhou.aliyuncs.com/zhufc/apache-status:zhu
3.3:进入容器启动apache
docker exec -it da6a434c99e6 bash
cd /etc/apache2/server_root/bin
./apachectl start
3.4:容器后台运行
Ctrl+alt+q+p
3.4:容器后台运行
Ctrl+alt+q+p
4:页面验证apache监控
http://10.20.7.15/server-status

http://10.20.7.15/server-status/phpmyadmin

容器化的Apache服务并监控的更多相关文章
- 容器化VS微服务
1 微服务 1.1 思想 开发人员自己测试.部署和运维自己编写的代码,即自己负责构建生命周期的全部. 1.2 Spring Boot 提供服务化的能力,即把容器.服务所需依赖和服务一起打包成一个jar ...
- Docker 容器化的 SonarQube 服务在不同主机之间的迁移
安装 docker-ce // https://docs.docker.com/install/linux/docker-ce/centos/ $ sudo yum remove docker \ d ...
- network_node:host解决Docker容器化部署微服务出现的Dobbo通信问题
在Docker中,有时候出现 ports: - 20880:20880 Dobbo通信出现问题. 此时应该改成 network_node:host 注释 ports!
- 微服务SpringCloud容器化案例
前言 当我们在使用微服务的时候,那么有一个问题一定会困扰我们,那就是项目的测试和部署.因为在单体应用下,部署项目很简单,直接打包启动就可以了,而对于微服务来说,因为有各个组件的存在所以让测试和部署都变 ...
- 《容器化.NET应用架构指南》脑图学习笔记(第一部分)
一.关于这本官方“圣经” 作为.NET程序员,对于微软官方推动的架构示例总是特别关注,从PetShop到MusicStore再到eShopOnContainers,每一次关注,都会了解到业界最新的架构 ...
- 唯品会RPC服务框架与容器化演进--转
原文地址:http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=405781868&idx=1&sn=cbb10d37e25 ...
- zabbix容器化安装及监控docker应用
一.zabbix agent2 介绍 从Zabbix 4.4之后,官方推出了Zabbix Agent 2,意味着zabbix 不在只是物理机监控的代名词,现在你可以使用Go为Zabbix编写插件,来监 ...
- jmx_prometheus_javaagent+prometheus+alertmanager+grafana完成容器化java监控告警(二)
一.拓扑图 二.收集数据 2.1前期准备 创建共享目录,即为了各节点都创建该目录,有两个文件,做数据共享 /home/target/prom-jvm-demo 1.下载文件 jmx_prometheu ...
- .NET微服务 容器化.NET应用架构指南(支持.NET Core2)
介绍 企业通过使用容器,日益实现成本节约.解决部署问题并改进 DevOps 和生产操作. 通过创建 Azure 容器服务.Azure Service Fabric 等产品,同时与 Docker.Mes ...
随机推荐
- java并发包小结(一)
java.util.concurrent 包含许多线程安全.高性能的并发构建块.换句话讲,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的 ...
- nslookup查询结果详解
nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用那个DNS服务器进行解释.在已安装TCP/IP协议的电脑上面均可以使用这个命令.主要用来诊断域名系统 (DNS) 基础结构 ...
- [转]在Windows下编译ffmpeg完全手册
本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注 ...
- android 开发中,经常遇到http://dl-ssl.google.com/ 无法访问的问题解决
window - android sdk manager 在选择某个版本sdk安装时,总是出现http://dl-ssl.google.com/无法链接的问题,那是因为qiang太高了,不过也还是有办 ...
- Java自学教程视频
BAT大咖助力 全面升级Android面试 BAT大牛亲授 基于ElasticSearch的搜房网实战 从天气项目看Spring Cloud微服务治理 Java企业级电商项目架构演进之路 Tomca ...
- java之Spring(AOP)-Annotation实现添加切面
我们已经知道之前的切面添加方式(动态代理),是定义了一个实现了InvocationHandler接口的Handlerservice类,然后 在这个类内部写好切面逻辑,包括切面放置的位置,很显然下面的这 ...
- C#学习笔记 day_three
C#学习笔记 day three Chapter 3 类型 3.3引用类型 引用类型的变量也成为对象,有六种类型:(1)对象类型 (2)字符串类型 (3)类类型 (4)数组类型 (5)接口类型 (6) ...
- Spring4托管Hibernate5并利用HibernateTemplate进行数据库操作
时隔半年,再次发布配置类的相关Blog,因为左手受伤原因先做一个简述. 首先利用idea创建一个Spring+SpringMVC+Hibernate项目,注意的是因为我们要完全放弃Hibernate以 ...
- 重温《STL源码剖析》笔记 第四章
源码之前,了无秘密 ——侯杰 序列式容器 关联式容器 array(build in) RB-tree vector set heap map priority-queue multiset li ...
- 利用Hive分析nginx日志
这里用到的nginx日志是网站的访问日志,比如日志格式: 180.173.250.74 - - [08/Jan/2015:12:38:08 +0800] "GET /avatar/xxx.p ...