MHA(Master High Availability)是一款开源的mysql高可用程序,目前在mysql高可用方面是一个相对成熟的解决方案。MHA 搭建的前提是MySQL集群中已经搭建了MySql Replication环境,有了Master/Slave节点。MHA的主要作用就是监测到Master节点故障时会提升主从复制环境中拥有最新数据的Slave节点成为新的master节点。同时,在切换master期间,MHA会通过从其他的Slave节点来获取额外的信息来避免一致性的问题,整个的切换过程对于应用程序而言是完全透明的。MHA还提供了master节点在线切换功能,即按需切换master/slave节点
在安全监控领域有很多的开源监控软件,例如zabbix,nagios,open-falcon,prometheus等众多软件。这些软件各有各的特点,基本上都能够满足日常的运维工作需要。同时在大的互联网公司一般都会根据自己的实际业务需求进行定制的监控系统开发,例如open-falcon就是小米公司自己的开源的监控系统。而且,在集群规模达到一定的数量级之后,一套监控系统应该已经不能满足生产需要,通常都会有多套监控系统一起协作来完成日常监控工作。 今天主要介绍的就是zabbix的安装和使用。接下来会向大家介绍,如何安装zabbix以及如何对zabbix进行初始化设置。
在实际的应用场景中,如果进行了负载均衡,那么后端服务器对用户的session记录就是一个比较令人头疼的问题。一般需要进行单独的处理。现在已经有很多的成熟的解决方案。例如使用Tomcat+Memcached来实现用户的会话保持。但是Memcached缓存是基于内存的,如果SessionServer宕机了,还是会影响系统的使用,所以又有另外一种解决方案,就是使用Tomcat+redis来实现会话的永久存储。因为redis可以对缓存进行持久化处理。但是本文还是以memcached为例,来介绍使用Ansible自动化部署实现Tomcat会话保持。
51CTO博客开发vinsentKeep simple keep stupid
在实际生产中,我们常常会面临这样一个问题,那就当我们通过负载均衡调度器进行调度处理时,不同的后端主机需要对客户的访问会话进行状态保持。也就是说,当调度器将用户的请求进行代理调度时,用户与后端服务器之间建立的Session会话不能丢失,各主机之间在处理用户请求时,都要能够对用户的会话进行处理。 那么被调度的不同后端主机是如何共享用户的Session呢?接下来,我们来介绍一种常见的方式,也是实际生产中经常使用到的一种方式,使用memcached配合tomcat搭建Seesion Server。
HAProxy为缓存服务器提供了负载均衡,使用了uri调度算法,保证了同样路径的请求能够被调度到同样的主机上,提高了缓存的命中率。 HAProxy提供了web管理界面,能够更直观的进行调度管理和管控 Varnish的缓存机制,以及动静分离等技术,提高了web服务器的负载能力,从而使系统能够应对高并发量的请求 数据库的主从复制,也是企业实际生产应用中使用较多的生产策略,这样能够实现网络请求的频繁读写,对降低了数据库服务器的压力。
在本系列的前一篇文章中,我们介绍了Nginx的目前市场使用状况,以及Nginx的安装和配置。并且主要记录了Nginx应用中一个比较重要的模块ngx_http_core_module。接下来我们重要介绍Nginx的其他应用配置。并且以模块的形式进行记录和分析。
Nginx是一款高性能的HTTP和反向代理服务器。在互联网早期,很多公司使用的都是Apache的HTTPD服务器,可是随着互联网业务的逐渐发展,Apache服务器在很多情况下满足不了业务的需求。这时一直紧跟Apache脚步的Nginx逐渐发展了起来。Nginx以其卓越的性能,以及优秀的高并发量和反向代理,逐渐得到了越来越多互联网公司的使用。 在国内的很多互联网公司使用就是Nginx。其中还有很多像阿里这种大公司对Nginx进行了二次开发,使其更加适合自己的业务发展。 但是并不是说Nginx能够取代Apache,因为Apache也有其适用的场景。我们看下面一组调查数据,或许能够对互联网服务器的发展有一个清晰的了解。
在前面的文章中,我们曾经简单的介绍过Linux内核中防火墙的基本概念,以及四表五链的相关知识,可参看 LINUX 防火墙介绍。 并且也介绍了如何在Linux环境中搭建一个能够过滤协议和端口的简单网络防火墙,可以参看Linux实现网络防火墙(一)。 在实际生产应用中,防火墙的功能纷繁复杂,就像我们之前介绍的四表五链,以及数据包的流向,在实际应用中都是有着关键性的作用的。今天要介绍的SNAT和DNAT就是构建防火墙规则中几个个重要应用。其中DNAT在LVS集群应用中也有着很重要的作用,这一点我们以后再说。
如何实现使用iptables 来搭建一个具有路由功能的网络防火墙,如何通过过滤端口和协议来控制网络的访问。
关于什么是防火墙,凡是接触过计算机的朋友应该都会了解。在现代计算机通信中,有很多的安全技术,防火墙就是其中最基本的一种。 同时,防火墙具备一些有效的隔离功能,能够对经过防火墙的网络包按照一定的规则进行检查,从而控制网络包的进入进出,以达到限制网络访问的一些目睹,这其中最著名的莫过于我们的长城防火墙(GFW)。 今天我们要讨论的就是,作为一种安全技术,防火墙是如何实现控制网络通信的。当然,我们是基于CentOS上的防火墙进行的讨论,并且仅限于命令上的使用,并不切入到内核代码的实现。
现在Python开发如火如荼,在各个领域都有所应用,但是由于一些历史原因,python 2 和python 3 在开发过程中都有所使用。虽然官方已经宣布,到2020年,将不再支持python2了,但是目前还是有很多的软件和平台在用python2的内容。尤其Linux上,有很多的软件也是基于python2进行的开发。 出于学习的目的,同时更好地进行运维开发工作,我们在自己电脑上同时配置python2 和python3 。由于MacOS 和Ubuntu 已经自带了Python,所以这里我们只介绍windows平台上的配置。
FTP是早期的应用级协议之一,是一种基于C/S结构的双通道协议。 可以作为FTP服务器的软件有很多,比如Wu-ftpd,Proftpd,Pureftpd,ServU,IIS,都可以。其中vsftpd是CentOS默认的FTP服务器。也是我们今天的主角,接下来将会进行重点介绍。 既然是一种C/S结构的应用,有服务端就会有客户端。在Linux平台上可以作为FTP客户端的软件也有很多,诸如ftp,lftp,lftpget,wget,curl等。在Windows上也有很多的图形界面客户端,例如 filezilla,CuteFtp,FlashFXP,LeapFtp 等。
WordPress应用 是一款基于PHP开发的博客发布平台。用户可以在支持PHP和MySql的系统上,轻松地搭建WordPress博客系统,并在上面发布自己的博客文章。 关于LAMP,之前的文章中已经有过很多的介绍,感兴趣的朋友可以去查看我之前的文章。 今天我们直接介绍,如何直接源码编译安装LAMP,并且在配置好环境的系统上部署WordPress应用。
APR(Apache portable Run-time libraries,Apache可移植运行库) 主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。
关于什么是CA证书,以及如何使用Open-SSL申请和搭建CA证书,我们在之前的文章中已经有过介绍,这里不再赘述。若有疑问,可参考之前的文章。 http://www.pojun.tech/blog/2017/09/11/linux-middle-command-1 http://xiaoshuaigege.blog.51cto.com/6217242/1965113 http://blog.csdn.net/eumenides_s/article/details/78040787
通常我们所说的,服务器应用一般会有两种类型,http服务器、应用程序服务器 ,而http服务器的典型代表有Apache Http Server和Nginx,应用程序服务器的典型代表则有IIS,Tomcat,jetty。 很多做过java开发的朋友应该都知道 Apache Tomcat,但是二者之间具体有什么区别和联系呢?大家可以自己上网查询下资料,也可以自己参考 https://www.zhihu.com/question/32212996,去了解一下。 当然,也可以去这个网站,查看目前主流服务器的市场占有率。https://www.netcraft.com/
MariaDB 是MySql的一个分支。 了解一下数据库的发展历史,我们知道,MySql数据库不但二次易主,而且还被打入了冷宫(先被sun收购,然后sun被Oracle收购)。因为Oracle有自己的数据库,同时只有Oracle自己的员工可以进行MySql的研发,所以MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB。
在实际生产中,我们常常会遇到这样一种情况,就是我们需要同时安装几十甚至上百台服务器,如果我们使用U盘或者光盘的方式的话,或许老板直接就将我们辞退了。这里我们介绍一种能够实现自动化安装操作系统的方式。 我们搭建Cobbler的实验环境是基于CentOS 7.3 -1611 的基础的。 同时这个实验可以帮助你一步步的完成所有的操作,不过,如果你想自定义安装的内容的话,建议你先看本文 自定义kickstart文件 部分,以便有所印象。
当我们通过SSH协议建立的通信通道之后,SSH会自动给加密和解密客户端与服务器端之间的所有通信。同时,SSH 还提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。可以将SSH建立的通信链路理解为管道(隧道),不安全的TCP协议在隧道中传输数据,避免了明文的传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能
CA,Catificate Authority,通俗的理解就是一种认证机制。它的作用就是提供证书(也就是服务端证书,由域名,公司信息,序列号,签名信息等等组成)来加强客户端与服务器端访问信息的安全性,同时提供证书的发放等相关工作。国内的大部分互联网公司都在国际CA机构申请了CA证书,并且在用户进行访问的时候,对用户的信息加密,保障了用户的信息安全。理论上来说,任何组织或者个人都可以扮演CA的角色,只不过,难以得到客户端的信任,不能推而广之,最典型应用莫过于12306网站,这个网站就是自己给自己颁发的根证书。
前言 Linux启动的过程在实际生产中有着至关重要的作用。试想一下,如果我们在实际生产中服务器因为某一个服务出了问题,而不能启动,这时我们应该怎么办。如果我们了解Linux的详细启动过程,知道是在哪一个环节出了问题,我们就能够进入到相应的环节,排除掉相应的问题,从而解决实际生产中的问题。 同时,我们在这里提出一个问题,有谁知道Windows的启动过程呢?如果启动过程出了问题,我们该怎么办呢?恐怕答
AWK是一件上古神器,用这句话来形容AWK是最贴切不过了。 纵观计算机发展的历史,我们发现,awk几乎是伴随着计算机操作系统的发展一路走来。1970年作为计算机计时元年,诞生了UNIX和C语言这两种伟大的事物。在这之后,计算机技术飞速发展,1977年贝尔实验室搞出来一款文本处理神器AWK,之所以起名AWK是因为采用了三位创始人Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的名字首字母。想想也是比较有意思的一件事情。 1991年,linus开源了Linux操作系统,至此,计算机进入了迅猛发展的阶段。AWK作为一种神器自然而然地整合到了Linux中,于是作为文本处理三剑客之一的AWK就这样一直使用到了现在。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 awk 的 GNU 版本。AWK其实是一种类似编程语言的存在,它集成了编程语言的诸多特性,使用起来灵活多变。本文将简要介绍AWK的使用,力图做到简明扼要
写在前面(最重要)本文部分资料和示例援引自以下书籍。在此,感谢原作者的创作,以及所有译者的付出,向他们致敬。Advanced Bash-Scripting Guide《高级Bash脚本编程指南》Revision 10中文版Linux脚本编程执导其中 《高级Bash脚本编程指南》Revision 10中文版 是 《Advanced Bash-Scripting Guid
Linux启动的过程在实际生产中有着至关重要的作用。试想一下,如果我们在实际生产中服务器因为某一个服务出了问题,而不能启动,这时我们应该怎么办。如果我们了解Linux的详细启动过程,知道是在哪一个环节出了问题,我们就能够进入到相应的环节,排除掉相应的问题,从而解决实际生产中的问题。 同时,我们在这里提出一个问题,有谁知道Windows的启动过程呢?如果启动过程出了问题,我们该怎么办呢?恐怕答案只有重启系统了吧…… Linux 系统的启动过程对于管理员来说是完全透明的,了解了Linux的启动过程,就好像有了透视眼一样,能够清楚的了解Linux的一切。知道了这些,不仅能够解决实际生产中的问题,更能够自己来制作Linux,自己定制Linux了,总之Linux大法好……
计划任务,是系统自动完成任务的一种方式。其原理就像是闹钟一样,到了我们指定的某一个时间点,系统就会自动的执行某种操作,实现我们想要达到的目的。在实际生产中有很多这样类似的例子,例如,定时发送邮件,定时备份某个目录,定时检查计算机的磁盘利用率并及时提醒管理员。
如何在 for,while 和 until 之间做出选择?我们知道在C语言中,在已知循环次数的情况下更加倾向于使用 for 循环。但是在Bash中情况可能更加复杂一些。Bash中的 for 循环相比起其他语言来说,结构更加松散,使用更加灵活。因此使用你认为最简单的就好。
逻辑卷管理(LVM)指系统将物理卷管理抽象到更高的层次,常常会形成更简单的管理模式。与物理磁盘和分区不同,逻辑卷展现给我们的是逻辑上的存储结构。LVM 可以将分区和磁盘聚合成一个虚拟磁盘(virtual disk),从而用小的存储空间组成一个统一的大空间。这个虚拟磁盘在 LVM 术语中称为卷组(volume group)。
sed(Stream EDitor)是一种流编辑器,也被称为行编辑器,它一次处理一行内容。 处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
在Linux操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包的 Linux 发行版本和 DEB 软件包的 Linux 发行版本。软件包管理工具的作用就是在操作系统中能够快捷的实现程序包的安装,卸载,查询,升级和校验等管理操作。 RPM 全称 RedHat Package Manager 或者RPM Package Manager ,最早由 Red Hat 公司制定实施,随后被 GNU 开源操作系统接受并成为很多 Linux 系统 (RHEL) 的既定软件标准。与 RPM 进行竞争的是基于 Debian 操作系统 (UBUNTU) 的 DEB 软件包管理工具- DPKG,全称为 Debian Package,功能方面与 RPM 相似。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号