主机监控和资产管理应该是一套完整的系统,但当公司还不具规模或系统建设不完善。两套数据相互独立。可能会漏掉部分主机监控,出现故障就显得尤为尴尬(如磁盘满了,未及时报警这类低级错误)。因此我们需要定期检查主机监控是否遗漏。 这里有个问题是,我们监控的主机可能并不是以 ip 作为主机名进行监控的,而是主机名。直接通过 zabb
先来看一张简单的缓存流程图,如图10-1所示。图10-1 缓存流程图CDN缓存和proxy_cache缓存在前面的章节中已经有过介绍,它们可以提升访问速度,减少回源流量,从而减少后端业务层的压力。在业务层中,也有不少服务有自己的缓存,这些缓存既可以减少服务自身的运算量,也可以减轻后端数据库等服务的压力。常见的业务层缓存工具有Redis、Memcached、Couchbase等。它们可以用来完成大量
新书《Nginx实战:基于Lua语言的配置、开发与架构详解》开始发售 《Nginx实战:基于Lua语言的配置、开发与架构详解》主要讲解了Nginx在反向代理和应用开发中的作用,阅读本书可以了解Nginx在互联网开发中扮演的多个角色,充分利用这些角色的各项功能有助于提升服务的整体性能。《Nginx实战:基于Lua语言的配置、开发与架构详解》所介绍的大部分功能是通过Nginx+Lua进行开发和配置的
在实际开发中,常常会使用NoSQL缓存数据来减少MySQL的读取压力,同样,也可以利用Ngx_Lua的缓存来减少MySQL的压力,本节将介绍缓存和数据库的交互方案。10.5.1 从数据库获取数据从MySQL中获取数据后存放到Ngx_Lua缓存中,有多种实现方案。下面是比较常见的3种方案。A方案,适合在缓存的key较多时使用,流程大致如图10-2所示。图10-2 当key较多时的缓存流程B方案,适合
在8.3节中曾提到过动态添加黑白名单地方案,下面对该内容做一个补充,代码如下:lua_shared_dictwhite_list_ip1m;#声明存放白名单的共享内存server{listen80;server_nametestnginx.com;location/{access_by_lua_block{localngx=require"ngx";localwhite_list_ip=ngx.s
在10.1节和10.2节,介绍的都是全局的缓存系统,那么有没有只针对当前请求设置的缓存呢,即某个数据在请求的每个阶段都有缓存,但请求结束缓存就会消失。举例来说,请求在rewrite阶段生成1个缓存数据,作用是可以让后面的阶段(如content阶段)获取到该缓存数据,但该数据在请求完成后就没有用了,可以在请求结束后清除掉。这种缓存主要针对如下情况使用,在Ngx_Lua中LuaAPI的执行是有阶段限制
上一节讲到了worker进程的共享内存,它利用丰富的指令使数据的缓存操作变得非常简单,但它也存在一些缺点。1.worker进程之间会有锁竞争,在高并发的情况下会增加性能开销。2.只支持Lua布尔值、数字、字符串和nil类型的数据,无法支持table类型的数据。3.在读取数据时有反序列化操作,会增加CPU开销。共享内存在Ngx_Lua中作为缓存工具还是非常出色的。笔者在生产环境中,曾多次使用lua_
对刚接触Ngx_lua的读者来说,可能会存在下面两个困惑。1、Lua在Nginx的哪些阶段可以执行代码?Lua在Nginx的每个阶段可以执行哪些操作?2、只有理解了这两个问题,才能在业务中巧妙地利用Ngx_Lua来完成各项需求。Nginx的11个执行阶段,每个阶段都有自己能够执行的指令,并可以实现不同的功能。Ngx_Lua的功能大部分是基于Nginx这11个执行阶段开发和配置的,Lua代码在这些指
九、控制响应头HTTP响应头需要配置很多重要的信息,例如添加CDN缓存时间、操作set-cookie、标记业务数据类型等。利用Lua的API可以轻松完成这些配置,并且它有丰富的模块可供选择。9.1 获取响应头ngx.resp.get_headers语法:headers=ngx.resp.get_headers(max_headers?,raw?)配置环境:set_by_lua,rewrite_by
十四、获取Nginx的环境变量通过LuaAPI可以获取Nginx的环境变量,用来提升某些业务处理流程,比如有些定时任务只需要在一个worker进程上执行,不需要执行多次,因此可以获取环境变量中worker的ID,在指定的ID上执行任务即可;或者获取Nginx的worker进程是否正在shutdown,以决定是否对数据进行备份操作。14.1 获取环境所在的模块ngx.config.subsystem
本章将会讲解基于LuaJIT的Lua-Nginx-Module,它作为Nginx的第三方开源软件,拥有十分丰富的功能,可以轻松完成高并发的业务需求。注意:本书使用的Lua-Nginx-Module版本是0.10.13。NginxAPIforLua将被简称为LuaAPI,而Lua-Nginx-Module则被简称为Ngx_lua。后面章节中涉及到的LuaAPI大部分是包含参数的,如果参数以?结尾,代
Nginx变量主要用在日志的记录和分析,还有业务逻辑的处理。下面将介绍一些常用变量配置手段,在实际应用中发挥作用
日期:2011-1-22,今天翻箱底翻到的,原来我写过这么详细的文章,大公司可能用不到,小公司应该用的上。方法有点土,别见笑。【系统环境】Centos 5.4 X64;mysql InnoDB引擎;raid1。【扩容原因】 数据库磁盘空间不足(原磁盘容量太小,146G,不是早期规划的不好,而是成本,你懂的),还处于上升趋势,因此需要扩容,并将数据库数据文件进行迁移新磁盘上。【主要更改】 1
通过获取iptables状态的MD5值,校验比对判断iptables是否被修改。
【功能】:实时监控Iptables,防止人为关闭后,忘了开启,或者监控规则是否有增删。 【说明】脚本来至官方,这个脚本是通过获取iptables规则条数来判断iptables是否正常。运行参数:./check_iptables.sh -T filter -r 1(filter为表名) (1为规则条数)原脚本是当检测到的规则条数大于-r参数时提示正常,否则不正常。(我改成了当等于规则条数时,提示正
【概述】:多人共同使用的服务器权限确实不好管理,误操作等造成故障,无法追究,最好的办法就是将用户操作实时记录到日志,并推送到远程日志服务器上。包括(用户登陆时间,目录,操作命令及时间戳等)。以便事后追查。 测试了网上的多种方法,但均含有不同程度bug,或者不能满足需求。对于安装修改bash4.1的方法,暂未测试。力求在尽可能少的改动服务器的原则上,寻求解决方案。测试过
nagios如何实现对个别用户隐藏部分服务信息。 1、添加测试用户 htpasswd /usr/local/nagios/etc/htpasswd.users user 2、将测试用户添加到联系人。 define contact{
文档时间:2010-6-11 于成都 by:xikder 项目更新主要存在的风险包括,数据丢失,升级失败,业务异常。 数据丢失 定 义: 数据丢失,指因操作不当导致的业务系统数据丢失损坏,使系统无法正常运 营。  
一、新装系统后,客户机使用ssh登录时无法登录,并出现以下提示。 错误提示: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 解决方法: 登录端下删除/root/.ssh/known_hosts文件中对应IP 地址密钥行。 二、修改/etc/fstab后,导致系统无
公司机房日常管理制度 授权管理制度: Ø 网络机房由运维部网络管理人员管理。未经许可,非指定人员不得随意进入机房。 Ø 未经许可,不得随意挪(变)动、拆卸(接)计算机设备或网络连线。 Ø 建立机房设备使用登记制度。落实责任制。 Ø 除管理人员、设备指定使用人员、程
【涂鸦 仅供参考】
仅供参考.....
GPG (an open source implementation of the OpenPGP IETF standard crypto system)通过GPG加密,生成公、私鈅对,私鈅为自己秘密保存,公钥则公开发布。别人通过我的公钥对文件进行加密,我通过私钥对文件进行解密。或者我通过私鈅对文件进行签名,对方通过我们的公钥验证文件真伪。
########################################## 测试环境:【Centos 5.7 32位】 准备:epel-release-xx..noarch.rpm 源 http://download.fedora.redhat.com/pub/epel/ 查找对应的系统。 ########################################## #r
kickstart远程安装自动Centos 5.7 32bit系统,经过几十次重启调试,全自动安装终于做通。难点主要是在ks.cfg 配置文件上。稍有错误,安装过程就变成手动了。测试表明,使用redhat的system-config-kickstart工具生成的配置文件不太给力,中途需要手动,所以还是自己手动改比较好。这样可用加深对配置文件的理解。网上有很多类似文章,但要真正掌握,定制自己想要的,
nagios在远程监控时,在CentOS系统中无法直接使用sudo命令的。需修改/etc/sudoers #visudo 找到 #Defaults requiretty 并取消注释,另外新增一行。表示nagios用户不需要登陆终端就可以调用命令。 Defaults requir
【基于Centos 5.7 32位 i386】 亲,这里只是虚拟机测试,别直接拿到生产环境上乱动哦。 ext4稳定版本需要内核2.6.28以上,当然网上也有低于这个内核版本的升级方法,但是不建议这么做,因为官方给出了说明,信官方得永生。前面做了内核升级到了2.6.33.20,但是升级系统默认的e2fsprogs却没法使用,官方指出e2fsp
好景不长,笔记本升级失败,今天打开虚拟机也出错了,费解。都出现如下错误。 【基于 Centos 5.7 i386 虚拟512内存】 内核升级,简洁版,亲测成功,网上有很多文章了。就不详细描述了。 上http://www.kernel.org/选择一个稳定版 #安装依赖包 #yum install
iptables 初始化脚本:默认拒绝所有,允许指定。 INPUT 拒绝 FORWARD 拒绝 OUTPUT 接受 根据要求只开放允许端口。 # vi firewall-init.s
利用openssl生成若干随机密码,非常简单,实现如下。 #!/bin/bash #Creat Rand passowd by openssl. echo -n "How many rand passwd do you ne
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号