Linux日志文件总管——logrotate

2017-02-09 11:21:10 查看评论 20 人阅读    

日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。

分类: Linux 标签: logrotate 日记

[转] 让Docker功能更强大的10个开源工具

2016-10-18 09:12:31 查看评论 302 人阅读    

软件项目的成功常常根据其催生的生态系统来衡量。围绕或基于核心技术构建的项目增添了功能和易用性,它们常常日臻完善。Docker就是一个典例,这个软件容器化系统让IT部门可以专注于应用程序、而不是虚拟机,作为生产的标准单位。

Docker一向备受第一方和第三方开发人员的关注,而众多项目扩展、补充或改进Docker,却没有成为Docker的一部分。下面是如今正在开发中的10个最知名的项目,从长远来看,有些项目有机会成为Docker的一部分。

分类: Linux 标签: docker

Linux服务器上查杀木马经历

2016-08-03 14:52:54 查看评论 760 人阅读    

收到VPS服务商的邮件,警告说我的VPS服务器的负载过高,已经被暂时关闭了,让我赶快处理解决。

Suspend Reason: High Load Avg - 23.13 / 23.17 / 23.16

很是诧异,这个VPS就放了一个博客和两个小站点,平时也没啥访问,怎么会导致负载高呢。

解决过程

急忙登陆上了vps,发现连接特别慢,马上top查看下,输入P进行按照CPU排序。

多了个CPU占用特别高的陌生程序minerd,明显是被挂马了,网上搜索了下,发现这个是个挖矿程序,被攻击了。

分类: Linux 标签: linux 攻击 minerd 木马

[转] 手把手教你用Strace诊断问题

2016-04-07 17:22:44 查看评论 422 人阅读    

早些年,如果你知道有个 strace 命令,就很牛了,而现在大家基本都知道 strace 了,如果你遇到性能问题求助别人,十有八九会建议你用 strace 挂上去看看,不过当你挂上去了,看着满屏翻滚的字符,却十有八九看不出个所以然。本文通过一个简单的案例,向你展示一下在用 strace 诊断问题时的一些套路。

如下真实案例,如有雷同,实属必然!让我们看一台高负载服务器的 top 结果:

top

top

技巧:运行 top 时,按「1」打开 CPU 列表,按「shift+p」以 CPU 排序。

在本例中大家很容易发现 CPU 主要是被若干个 PHP 进程占用了,同时 PHP 进程占用的比较多的内存,不过系统内存尚有结余,SWAP 也不严重,这并不是问题主因。

分类: Linux 标签: strace

[转] VRRP协议介绍

2015-04-03 11:51:58 查看评论 766 人阅读    

1. 前言


VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简化了一些功能。


2. 协议说明

2.1 协议

VRRP协议是为消除在静态缺省路由环境下的缺省路由器单点故障引起的网络失效而设计的主备模式的协议,使得在发生故障而进行设备功能切换时可以不影响内外数据通信,不需要再修改内部网络的网络参数。VRRP协议需要具有IP地址备份,优先路由选择,减少不必要的路由器间通信等功能。

VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话就是MASTER,或者是通过算法选举产生,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能。

配置VRRP协议时需要配置每个路由器的虚拟路由器ID(VRID)和优先权值,使用VRID将路由器进行分组,具有相同VRID值的路由器为同一个组,VRID是一个0~255的正整数;同一组中的路由器通过使用优先权值来选举MASTER,优先权大者为MASTER,优先权也是一个0~255的正整数。

VRRP协议使用多播数据来传输VRRP数据,VRRP数据使用特殊的虚拟源MAC地址发送数据而不是自身网卡的MAC地址,VRRP运行时只有MASTER路由器定时发送VRRP通告信息,表示MASTER工作正常以及虚拟路由器IP(组),BACKUP只接收VRRP数据,不发送数据,如果一定时间内没有接收到MASTER的通告信息,各BACKUP将宣告自己成为MASTER,发送通告信息,重新进行MASTER选举状态。

2.2 MASTER选举
如果对外的虚拟路由器IP就是路由器本身配置的IP地址的话,该路由器始终都是MASTER;
否则如果不具备虚拟IP的话,将进行MASTER选举,各路由器都宣告自己是MASTER,发送VRRP通告信息;
如果收到其他机器的发来的通告信息的优先级比自己高,将转回BACKUP状态;
如果优先级相等的话,将比较路由器的实际IP,IP值较大的优先权高;
不过如果对外的虚拟路由器IP就是路由器本身的IP的话,该路由器始终将是MASTER,这时的优先级值为255。

2.3 协议状态机
VRRP协议状态比较简单,就三种状态,初始化,主机,备份机。

blob.png

分类: Linux 标签: vrrp

centos6 下安装nginx1.7.9+php5.6.4+mysql

2015-01-06 08:55:39 查看评论 3579 人阅读    

        该文章是由于我在docker安装LNMP环境时出现的,原型是张宴大哥这篇文章:http://zyan.cc/nginx_php_v7/,只是做了一些软件升级变更。


1. 安装关联库

# mkdir -p /data/tgz
# cd /data/tgz
# yum install wget
# yum install pcre
# yum install openssl*
# yum install tar
# yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make gd gd2 gd-devel gd2-devel

# ulimit -SHn 65535
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
# tar zxvf pcre-8.36.tar.gz
# cd pcre-8.36
# ./configure --prefix=/data/apps/pcre
# make && make install
# cd ../


分类: Linux 标签: lnmp

Docker创建centos的LNMP镜像

2014-12-28 17:54:23 查看评论 10582 人阅读    

        前段时间重装了系统,今天刚好有时间,就用docker安装一个lnmp开发环境,下面是我的安装笔记。


 1. 安装docker

        这个就不说了,不会的可以看下我之前的文章《Docker介绍及安装》。


    1)启动docker

# service docker start


分类: Linux 标签: docker 镜像 lnmp

pptpd密码中带有#无法识别

2014-12-22 15:10:24 查看评论 660 人阅读    

有同事离职了,所以将VPN的密码更新了下,改为:test#eas!z.,重启下pptpd,但是居然vpn连接不上了。

想到是不是不支持特殊字符,在google搜索到下面的说明,密码中带有#是不支持的!密码去掉#,重连,OK了。


blob.png


参考文档:http://www.dd-wrt.com/wiki/index.php/PPTP_Server_Configuration

分类: Linux 标签: pptpd vpn

[转] 在Ubuntu 14.04中使SublimeText 3支持中文

2014-12-07 06:14:57 查看评论 885 人阅读    

在Ubuntu 14.04中安装了SublimeText 3之后发现既然不支持输入中文,于是在网上搜罗一下,发现很多人遇到了同样的问题,但是解决办法大该就只有一个。下面根据自身的安装及解决办法总结如下:


1. SublimeText 3的安装

    安装方式有多种,本文所描述的是从官方网站上下载64位的.deb文件 ,具体为http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3059_amd64.deb文件,下载后双击即会自动使用默认的安装软件安装。


2. 相关依赖软件的安装

# sudo apt-get install build-essential libgtk2.0-dev


分类: Linux 标签: sublime ubuntu

Docker介绍及安装

2014-10-27 15:31:38 查看评论 1720 人阅读    

blob.png

Docker介绍

      Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。更详细的介绍可以看下《5分钟弄懂Docker》。


Docker安装

   这里的安装环境为Centos6.4,其他系统的安装请参考这里

      首先,你需要安装EPEL仓库,请看这里EPEL installation instructions. 也可以看我另外一篇文章《CentOS 5/6上安装EPEL源

      docker的包是由EPEL提供的

      如果你已经安装了(不相关)的docker包,它会跟docker-io有冲突,有一个错误报告,如果想继续安装docker-io,请先删除docker.

      下一步,来让我们安装docker-io在我们的主机上

# sudo yum -y install docker-io

      升级docker-io包

#sudo yum -y update docker-io

      现在我们就安装好了,让我们开始docker进程

# sudo service docker start

      如果你想让他开机启动,我们需要这样做

# sudo chkconfig docker on

      现在让我们确认一下docker是否工作了

# sudo docker run -i -t fedora /bin/bash

      运行了,OK你现在去运行hello word的实例吧。

参考资料:

Docker新手指南

分类: Linux 标签: docker