新书《Nginx实战:基于Lua语言的配置、开发与架构详解》开始发售

新书《Nginx实战:基于Lua语言的配置、开发与架构详解》开始发售  《Nginx实战:基于Lua语言的配置、开发与架构详解》主要讲解了Nginx在反向代理和应用开发中的作用,阅读本书可以了解Nginx在互联网开发中扮演的多个角色,充分利用这些角色的各项功能有助于提升服务的整体性能。《Nginx实战:基于Lua语言的配置、开发与架构详解》所介绍的大部分功能是通过Nginx+Lua进行开发和配置的

置顶 原创 点赞0 阅读2799 收藏0 评论0 2019-03-20

《缓存利器》五、缓存和数据库的交互

在实际开发中,常常会使用NoSQL缓存数据来减少MySQL的读取压力,同样,也可以利用Ngx_Lua的缓存来减少MySQL的压力,本节将介绍缓存和数据库的交互方案。10.5.1 从数据库获取数据从MySQL中获取数据后存放到Ngx_Lua缓存中,有多种实现方案。下面是比较常见的3种方案。A方案,适合在缓存的key较多时使用,流程大致如图10-2所示。图10-2 当key较多时的缓存流程B方案,适合

置顶 原创 点赞0 阅读975 收藏1 评论0 2018-12-19

《缓存利器》四、利用共享内存配置动态IP地址认证

在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

置顶 原创 点赞0 阅读1061 收藏0 评论0 2018-12-19

《缓存利器》三、当前请求在各执行阶段间的数据共享

在10.1节和10.2节,介绍的都是全局的缓存系统,那么有没有只针对当前请求设置的缓存呢,即某个数据在请求的每个阶段都有缓存,但请求结束缓存就会消失。举例来说,请求在rewrite阶段生成1个缓存数据,作用是可以让后面的阶段(如content阶段)获取到该缓存数据,但该数据在请求完成后就没有用了,可以在请求结束后清除掉。这种缓存主要针对如下情况使用,在Ngx_Lua中LuaAPI的执行是有阶段限制

置顶 原创 点赞0 阅读1052 收藏1 评论0 2018-12-19

《缓存利器》二、Lua模块下的共享内存

上一节讲到了worker进程的共享内存,它利用丰富的指令使数据的缓存操作变得非常简单,但它也存在一些缺点。1.worker进程之间会有锁竞争,在高并发的情况下会增加性能开销。2.只支持Lua布尔值、数字、字符串和nil类型的数据,无法支持table类型的数据。3.在读取数据时有反序列化操作,会增加CPU开销。共享内存在Ngx_Lua中作为缓存工具还是非常出色的。笔者在生产环境中,曾多次使用lua_

置顶 原创 点赞0 阅读6044 收藏1 评论0 2018-12-19

《缓存利器》一、worker进程的共享内存

先来看一张简单的缓存流程图,如图10-1所示。图10-1 缓存流程图CDN缓存和proxy_cache缓存在前面的章节中已经有过介绍,它们可以提升访问速度,减少回源流量,从而减少后端业务层的压力。在业务层中,也有不少服务有自己的缓存,这些缓存既可以减少服务自身的运算量,也可以减轻后端数据库等服务的压力。常见的业务层缓存工具有Redis、Memcached、Couchbase等。它们可以用来完成大量

置顶 原创 点赞0 阅读4550 收藏1 评论0 2018-12-19

Nginx Lua的执行阶段

对刚接触Ngx_lua的读者来说,可能会存在下面两个困惑。1、Lua在Nginx的哪些阶段可以执行代码?Lua在Nginx的每个阶段可以执行哪些操作?2、只有理解了这两个问题,才能在业务中巧妙地利用Ngx_Lua来完成各项需求。Nginx的11个执行阶段,每个阶段都有自己能够执行的指令,并可以实现不同的功能。Ngx_Lua的功能大部分是基于Nginx这11个执行阶段开发和配置的,Lua代码在这些指

置顶 原创 点赞4 阅读10000+ 收藏7 评论0 2018-12-17

Lua-Nginx-Module常用指令(中)

九、控制响应头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

置顶 原创 点赞1 阅读2993 收藏2 评论0 2018-12-17

Lua-Nginx-Module常用指令(下)

十四、获取Nginx的环境变量通过LuaAPI可以获取Nginx的环境变量,用来提升某些业务处理流程,比如有些定时任务只需要在一个worker进程上执行,不需要执行多次,因此可以获取环境变量中worker的ID,在指定的ID上执行任务即可;或者获取Nginx的worker进程是否正在shutdown,以决定是否对数据进行备份操作。14.1 获取环境所在的模块ngx.config.subsystem

置顶 原创 点赞1 阅读3750 收藏2 评论0 2018-12-17

Lua-Nginx-Module常用指令(上)

本章将会讲解基于LuaJIT的Lua-Nginx-Module,它作为Nginx的第三方开源软件,拥有十分丰富的功能,可以轻松完成高并发的业务需求。注意:本书使用的Lua-Nginx-Module版本是0.10.13。NginxAPIforLua将被简称为LuaAPI,而Lua-Nginx-Module则被简称为Ngx_lua。后面章节中涉及到的LuaAPI大部分是包含参数的,如果参数以?结尾,代

置顶 原创 点赞1 阅读2196 收藏2 评论0 2018-12-17

深入Nginx之《常用变量配置技巧》

Nginx变量主要用在日志的记录和分析,还有业务逻辑的处理。下面将介绍一些常用变量配置手段,在实际应用中发挥作用

置顶 原创 点赞0 阅读1792 收藏1 评论0 2018-07-13

记一次数据库服务器磁盘扩容

日期:2011-1-22,今天翻箱底翻到的,原来我写过这么详细的文章,大公司可能用不到,小公司应该用的上。方法有点土,别见笑。【系统环境】Centos 5.4 X64;mysql InnoDB引擎;raid1。【扩容原因】 数据库磁盘空间不足(原磁盘容量太小,146G,不是早期规划的不好,而是成本,你懂的),还处于上升趋势,因此需要扩容,并将数据库数据文件进行迁移新磁盘上。【主要更改】 1

置顶 原创 推荐 点赞2 阅读7596 收藏0 评论1 2012-05-05

通过nagios实现MD5实时监控iptables状态

通过获取iptables状态的MD5值,校验比对判断iptables是否被修改。

置顶 原创 推荐 点赞1 阅读1849 收藏0 评论0 2014-04-28

nagios 实时监控 iptables 状态

【功能】:实时监控Iptables,防止人为关闭后,忘了开启,或者监控规则是否有增删。 【说明】脚本来至官方,这个脚本是通过获取iptables规则条数来判断iptables是否正常。运行参数:./check_iptables.sh -T filter -r 1(filter为表名) (1为规则条数)原脚本是当检测到的规则条数大于-r参数时提示正常,否则不正常。(我改成了当等于规则条数时,提示正

置顶 原创 推荐 点赞9 阅读3806 收藏1 评论5 2012-03-06

history用户操作审计记录方案_beta

【概述】:多人共同使用的服务器权限确实不好管理,误操作等造成故障,无法追究,最好的办法就是将用户操作实时记录到日志,并推送到远程日志服务器上。包括(用户登陆时间,目录,操作命令及时间戳等)。以便事后追查。     测试了网上的多种方法,但均含有不同程度bug,或者不能满足需求。对于安装修改bash4.1的方法,暂未测试。力求在尽可能少的改动服务器的原则上,寻求解决方案。测试过

置顶 原创 点赞3 阅读1860 收藏0 评论2 2012-05-01

我的友情链接

顺妻自然小王linkboyMzd_testlab流星陨落MIS这一路simeon技术专栏seven刘古权serylinux学习者fenghao.cn's Softzone!我的soft空间技术成就梦想itnihao运维人生峰云,就她了。

原创 点赞0 阅读319 收藏0 评论0 2017-11-22

nagios实现对个别用户隐藏部分服务信息

nagios如何实现对个别用户隐藏部分服务信息。  1、添加测试用户 htpasswd /usr/local/nagios/etc/htpasswd.users user  2、将测试用户添加到联系人。 define contact{         

原创 点赞0 阅读484 收藏0 评论0 2012-05-25

业务升级风险及其应对

文档时间:2010-6-11 于成都 by:xikder   项目更新主要存在的风险包括,数据丢失,升级失败,业务异常。       数据丢失     定    义:        数据丢失,指因操作不当导致的业务系统数据丢失损坏,使系统无法正常运 营。  

原创 点赞2 阅读821 收藏0 评论2 2012-05-05

新装系统故障实录

一、新装系统后,客户机使用ssh登录时无法登录,并出现以下提示。      错误提示: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     解决方法: 登录端下删除/root/.ssh/known_hosts文件中对应IP 地址密钥行。 二、修改/etc/fstab后,导致系统无

原创 点赞0 阅读600 收藏0 评论0 2012-04-27

机房日常管理制度

 公司机房日常管理制度 授权管理制度: Ø  网络机房由运维部网络管理人员管理。未经许可,非指定人员不得随意进入机房。 Ø  未经许可,不得随意挪(变)动、拆卸(接)计算机设备或网络连线。 Ø  建立机房设备使用登记制度。落实责任制。 Ø  除管理人员、设备指定使用人员、程

原创 点赞1 阅读1398 收藏0 评论0 2012-03-15

初级运维技能体系导图

 【涂鸦 仅供参考】

原创 点赞0 阅读720 收藏0 评论0 2012-03-15

图解运维—上线流程图

仅供参考.....   

原创 点赞0 阅读4675 收藏0 评论0 2012-03-08

gpg加解密

GPG (an open source implementation of the OpenPGP IETF standard crypto system)通过GPG加密,生成公、私鈅对,私鈅为自己秘密保存,公钥则公开发布。别人通过我的公钥对文件进行加密,我通过私钥对文件进行解密。或者我通过私鈅对文件进行签名,对方通过我们的公钥验证文件真伪。

原创 点赞0 阅读876 收藏0 评论0 2012-03-06

cobbler 网络全自动安装CentOS

########################################## 测试环境:【Centos 5.7 32位】 准备:epel-release-xx..noarch.rpm 源 http://download.fedora.redhat.com/pub/epel/ 查找对应的系统。 ########################################## #r

原创 点赞1 阅读797 收藏0 评论1 2012-02-27

Centos系统,使用本地更新源

Centos系统,使用dvd作为更新源。#mkdir /mnt/cdrom #mount /dev/cdrom /mnt/cdrom #mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.save #mv /etc/yum.repos.d/CentOS-Media.repo /etc/yum.repos.d/

转载 点赞0 阅读480 收藏0 评论0 2012-02-26

kickstart网络全自动安装CentOS

kickstart远程安装自动Centos 5.7 32bit系统,经过几十次重启调试,全自动安装终于做通。难点主要是在ks.cfg 配置文件上。稍有错误,安装过程就变成手动了。测试表明,使用redhat的system-config-kickstart工具生成的配置文件不太给力,中途需要手动,所以还是自己手动改比较好。这样可用加深对配置文件的理解。网上有很多类似文章,但要真正掌握,定制自己想要的,

原创 点赞0 阅读1147 收藏0 评论0 2012-02-25

nagios在Centos调用中 sudo 命令

nagios在远程监控时,在CentOS系统中无法直接使用sudo命令的。需修改/etc/sudoers #visudo   找到 #Defaults  requiretty 并取消注释,另外新增一行。表示nagios用户不需要登陆终端就可以调用命令。  Defaults  requir

原创 点赞0 阅读919 收藏0 评论0 2012-02-21

Centos 5.7 ext3升级ext4

【基于Centos 5.7 32位 i386】    亲,这里只是虚拟机测试,别直接拿到生产环境上乱动哦。     ext4稳定版本需要内核2.6.28以上,当然网上也有低于这个内核版本的升级方法,但是不建议这么做,因为官方给出了说明,信官方得永生。前面做了内核升级到了2.6.33.20,但是升级系统默认的e2fsprogs却没法使用,官方指出e2fsp

原创 点赞1 阅读1190 收藏1 评论0 2012-02-19

Centos 5.7 内核升级--失败

好景不长,笔记本升级失败,今天打开虚拟机也出错了,费解。都出现如下错误。   【基于 Centos 5.7 i386 虚拟512内存】 内核升级,简洁版,亲测成功,网上有很多文章了。就不详细描述了。       上http://www.kernel.org/选择一个稳定版 #安装依赖包 #yum install 

原创 点赞0 阅读1808 收藏0 评论0 2012-02-18

iptables 初始化脚本

iptables 初始化脚本:默认拒绝所有,允许指定。 INPUT 拒绝            FORWARD 拒绝           OUTPUT  接受 根据要求只开放允许端口。 # vi firewall-init.s

原创 点赞1 阅读1396 收藏0 评论0 2012-02-13
  • 1
  • 2
写文章