
Linux运维之道
文章平均质量分 63
讲诉Linxu系统管理员的运维之道,如技巧、经验等
Zhu_Julian
这个作者很懒,什么都没留下…
展开
-
Linux性能诊断工具
vmstat:虚拟内存状况–swpd free buff cache si so in cs参考:http://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.htmliostat:io状况avgqu-sz await svctm参考:http://blog.youkuaiyun.com/dba原创 2014-08-31 21:17:28 · 2044 阅读 · 0 评论 -
[Nginx]用Nginx实现与应用结合的访问控制 - 防盗链
应用场景:图片等资源需要设置权限,如:只有认证过的用户才能访问自己的图片。解决办法:使用Nginx的防盗链模块http_secure_link可以实现,该模块默认情况下不包含,故在安装时要加上--with-http_secure_link_module该模块根据两个参数控制权限访问,一个是过期时间(即该链接在这个时间之前可访问,过期后无法访问),该参数主要出于安全考虑。另一个是通过md原创 2014-05-07 11:28:50 · 3299 阅读 · 2 评论 -
[Linux] IRedmail邮件服务器
原文链接:http://wiki.ubuntu.org.cn/IRedMailiRedmail 组件iRedMail主要是使用下面软件来构建邮件系统,下面是Ubuntu 10.04的软件版本。Apache 2.2.xPHP 5.3.xMySQL 5.1.xOpenLDAP 2.4.xPostfix 2.7.x ( MTA )Dovecot 1.2.xAmavisd 2.转载 2014-02-13 11:12:43 · 9478 阅读 · 0 评论 -
[Linux] 邮件服务器的工作原理
邮件传输所需要的组件(MUA、MYA、MDA)和相关协议(SMTP)邮件服务器的传输过程如上所示,其几个重要组件如下:1)MUA(Mail User Agent):即邮件客户端软件,如Windows的Outlook,客户通过它来浏览、写和收邮件;2)MTA(Mail Transfer Agent):当你在MUA(如outlook)上点发邮件时,其实它是把邮件发到MTA(如Sen原创 2014-02-13 09:57:42 · 4767 阅读 · 0 评论 -
[网络] DNS解析
DNS客户端的配置文件DNS客户端的配置文件主要有:1) /etc/hosts2) /etc/resolv.conf3) /etc/nsswitch.conf/etc/hosts文件记录了IP和主机名的对应关系,/etc/resolv.conf用于配置DNS服务器,如下所示:$ cat /etc/resolv.conf nameserver 8.8.4.4names原创 2014-02-12 15:44:27 · 2302 阅读 · 0 评论 -
[Linux] 网络设置
Linux的网络设置主要涉及的配置文件如下:IP相关参数设置设置IP相关参数的配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0,如下所示:DEVICE=eth0BOOTPROTO=staticBROADCAST=10.10.100.255HWADDR=90:B1:1C:12:E0:61IPADDR=10.10.原创 2014-02-08 14:32:28 · 1593 阅读 · 0 评论 -
[网络] 大话IP地址
本文说的IP是指IPv4,IPv6不在本文的讨论范围之内。IP是由32位2进制组成,通常为了表示方便,用4组十进制数字表示,原创 2014-02-08 12:54:06 · 2495 阅读 · 0 评论 -
[Linux] 软件安装与管理 - rpm、yum
前面我们提到Linux上的软件都可以通过Tarball的方式进行源码安装,但每次都要下载、编译、安装,是否太麻烦了一些?有没有类似windows那样厂商把软件编译好,我们用户直接拿来安装就行?答案是肯定的,这就是我们今天要说到的rpm和yum。在Linux上,有两大主流的软件管理方法,如下所示:由于Centos采用的是第一种,因此在这只介绍RPM和YUM。什么是RPM和原创 2014-02-07 16:39:48 · 2844 阅读 · 0 评论 -
[Linux] 软件源码安装 - Tarball
什么是Tarball所谓的Tarball文件,是指把软件的所有源码以tar打包,再压缩。它通常包含以下文件列表:1)源代码文件2)检测程序文件(configure或config等)3)简易说明和安装说明(INSTALL或README)Tarball安装的基本步骤Tarball安装的命令执行方式如下:1 ./congifure上面说过,在Tarball文件里原创 2014-01-20 13:30:45 · 1818 阅读 · 0 评论 -
[Linux] netstat命令详解
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Re转载 2014-01-10 17:05:03 · 1271 阅读 · 0 评论 -
[Linux] 系统服务与daemon
Linux的系统服务是以daemon运行的,主要分为两大类daemon:1)standalone:可以自行单独启动服务,如httpd、vsftpd等,它的特点是响应速度快,但资源占用高。2)super daemon:一个特殊的daemon统一管理,当客户端没有请求时,各项服务不启动,直到有客户端请求时,super daemon才唤醒相应的服务。daemon的启动脚本与启动方式原创 2014-01-10 17:00:55 · 1796 阅读 · 0 评论 -
[Linux] 启动流程分析
Linux内核启动的第一个进程是/sbin/init,它的配置文件是/etc/inittab,本文我们将分析Linux如何根据该配置文件启动的,下面是一个该文件的典型例子:## inittab This file describes how the INIT process should set up# the system in a certain原创 2014-01-13 18:05:31 · 1496 阅读 · 0 评论 -
[Linux] Job管理
当我们在Linux Bash下执行命令(如tar),默认都是在前台进行的,即我们必须得等到命令结束之后才能执行后续的命令。事实上,我们是可以控制命令在后台执行,这就是Linux的Job管理。& - 把命令丢到后台执行在执行命令的最后加上&,就表示把该命令丢到后台执行,如下所示:# tar -zcvf source.tar.gz ./source > /tmp/source_ta原创 2014-01-10 13:59:05 · 1495 阅读 · 0 评论 -
[Linux] 用户切换 - su和sudo
Linux的用户切换可以通过su和sudo这两个命令,这两个命令的使用场景是不一样的。su如果你当前的身份是root,则可以通过su命令切换到其它任何用户(无需密码),如下所示:[root@lx200 ~]# su - oracle[oracle@lx200 ~ ]$ 如果你当前的身份不是root(即普通用户),想通过su切换成root,则必须输入root的密码:[oracle@原创 2014-01-10 09:59:46 · 9866 阅读 · 0 评论 -
[Linux] 管道命令
Linux的管道命令是'|',通过它可以对数据进行连续处理,其示意图如下:注意:1)管道命令仅为处理标准输出(即正确的输出),对于标准错误输出,将忽略2)管理命令的后一个命令必须能将前一个命令的标准输出变为它的标准输入才可以,如less,more,head,tail就可以,而ls, cp, mv就不行。下面我们看几个管道命令。cut - 列选取命令cut以行原创 2014-01-09 16:20:07 · 2123 阅读 · 0 评论 -
[Linux] 数据流重定向
Linux命令执行过程的数据传输情况如下所示:1)标准输入(stdin):代码为0,使用2)标准输出(stdout):代码为1,使用>或>>;3)标准错误输出(stderr):代码为2,使用2>或2>>;其中>表示以覆盖的方式将数据写入文件或设备,>>表示以累加的方式将数据写入文件或设备。其中# cat > catfile <<EOF> This is a tes原创 2014-01-09 15:08:09 · 1424 阅读 · 0 评论 -
[Linux] Bash的环境配置文件
当用户登陆时,将读取以下两个配置文件:1)/etc/profile:系统全局配置文件,最好不要修改该文件2)~/.bash_profile或~/.bash_login或~/.profile:用户私有的配置文件全局配置文件 - /etc/profile/etc/profile会依次调用下列文件:1)/etc/inputrc2)/etc/profile.d/*.sh:如原创 2014-01-08 17:40:09 · 2421 阅读 · 0 评论 -
[Linux] Shell变量
Shell变量分为环境变量和自定义变量,这两则的差异在于该变量能否被子进程使用,看下面的一个示意图:如果是环境变量,子进程中还可以继续使用,但如果是自定义的变量,子进程里将失效。用env查看环境变量常见的环境变量如下:1)HOME:用户的主目录(cd ~)2)SHELL:用户的默认shell3)HISTSIZE:历史记录条数4)MAIL:邮件信箱文件原创 2014-01-08 15:56:16 · 1557 阅读 · 0 评论 -
[Linux] 磁盘的分区、格式化、检验与挂载
磁盘分区 - fdiskfdisk的命令不需要记,因为输入m后,就会看到详细的帮助信息,如下所示:[root@lx15 /data ]# fdisk /dev/sdaThe number of cylinders for this disk is set to 36404.There is nothing wrong with that, but this is larger tha原创 2014-01-08 13:47:03 · 1986 阅读 · 0 评论 -
[Linux] 文件系统和df,du命令
Ext2文件系统Linux的正规文件系统为Ext2(Linux second extended file system),它主要由以下三个部分组成:1)super block:记录此文件系统的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息等。2)inode:记录文件的属性和权限(元数据metadata),一个文件占用一个inode,同时记录文件原创 2014-01-08 11:04:18 · 3224 阅读 · 0 评论 -
[Linux] 使用iostat分析IO性能
对于I/O-bond类型的进程,我们经常用iostat工具查看进程IO请求下发的数量、系统处理IO请求的耗时,进而分析进程与操作系统的交互过程中IO方面是否存在瓶颈。 下面通过iostat命令使用实例,说明使用iostat查看IO请求下发情况、系统IO处理能力的方法,以及命令执行结果中各字段的含义。 1.不加选项执行iostat我们先来看直接执行iostat转载 2014-01-03 10:18:48 · 5385 阅读 · 0 评论 -
[Linux] 常见的压缩命令
gzip采用gzip压缩的文件扩展名为.gz,它的语法如下:gzip [-cdtv#] filename-c:压缩-d:解压缩-t:检验文件的一致性-v:显示压缩比等消息-#:压缩等级,取值范围为1~9,其中9压缩率最高,默认为6使用gzip要注意:默认情况下原文件将不复存在,这要非常小心,如果要保留原文件,需要如下操作:gzip -c man.config > man.co原创 2013-12-23 14:05:31 · 1494 阅读 · 0 评论 -
[Linux] 查找 - which, whereis, locate, find
命令查找 - whichwhich命令用于查找PATH里包含的可执行文件(即命令)which [-a] command-a:列出所有命令文件和目录查找 - whereis, locate, find其中whereis和locate是从数据库里查找,因此速度较快,但无法找出最新的数据,因为数据库默认情况下是每天更新一次(也可以执行updatedb命令手动更新)。whereis原创 2013-12-20 17:44:39 · 1515 阅读 · 0 评论 -
[Linux] 文件时间属性及touch命令
Linux文件有三个时间属性:1)mtime:文件内容最后修改时间2)ctime:文件状态改变时间,如权限、属性被更改3)atime:文件内容被访问时间,如cat,less等在默认情况下,ls显示出来的是该文件的mtime,即文件内容最后修改时间,如果你需要查看另外两个时间,可以加上--time参数,如下所示:# ls -l /etc/man.config -rw-r--r-原创 2013-12-20 16:21:59 · 3207 阅读 · 0 评论 -
[Linux] 目录与文件的权限管理
文件的权限意义r: 表示可以读取该文件的内容w: 表示可以编辑、新增或修改该文件的内容,但不具备删除该文件的权限x: 表示可以执行该文件目录的权限意义r: 表示具有读取目录结构列表的权限,即可以利用ls命令列出目录下的文件列表w: 更改目录结构列表的权限,包含:新建、删除、重命名、移动该目录下的所有文件和目录x: 表示拥护能否进入该目录成为工作目录(cd命令)修改权原创 2013-12-20 14:50:24 · 1766 阅读 · 0 评论 -
[Linux] 账户管理
当用户登陆Linux系统时,Linux将做如下检查:1)在/etc/passwd文件里匹配输入的用户名,获取该用户名的UID和GID(其中GID和/etc/group关联)、Home目录和Shell设置2)在/etc/shadow里核对该用户的密码/etc/passwd文件结构这个文件的每一行代表一个账号,如下所示:oracle:x:501:501::/home/oracle:原创 2013-12-20 14:19:04 · 2637 阅读 · 0 评论 -
[Linux] 关机和重启命令详解
Linux有如下的关机和重启命令:shutdown, reboot, halt, poweroff,那么它们有什么区别呢?shutdown - 建议使用的命令shutdown是最常用也是最安全的关机和重启命令,它会在关机之前调用fsck检查磁盘,其中-h和-r是最常用的参数:-h:停止系统服务并关机-r: 停止系统服务后重启下面看几个例子:shutdown -h now --立原创 2013-12-19 10:49:21 · 7344 阅读 · 0 评论 -
[Nginx] 在Linux下的启动、停止和重加载
Nginx的启动/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf其中-c参数指定配置文件路径。Nginx的停止Nginx支持以下几种信号控制:- TERM, INT 快速关闭- QUIT 从容关闭- HUP 平滑重启- USR1 重新打开日志文件,在切割文件时用处大- USR2 平滑升原创 2013-12-06 17:10:42 · 35148 阅读 · 2 评论 -
[Linux] 利用logrotate对MySQL日志进行轮转
日志轮转特别适用于具有固定文件名的日志文件,比如MySQL的出错日志、常规查询日志、慢查询日志等。Linux系统有一个非常好用的根据logratate可以实现自动轮转,本文介绍它的原理和用法。默认情况下,logratate部署为每天运行的cron job,你可以在目录/etc/cron.daily里找到名为logratate的配置文件。那么它是在每天的上面时候运行的呢?打开文件/etc/cro原创 2013-10-23 10:00:44 · 6778 阅读 · 3 评论 -
[Linux] 修改主机名(hostname)
在Linux命令行下输入hostname,查看当前主机名,如果想修改它,直接在hostname后面加上新主机名即可(注:以下操作都需要root用户执行),如:# hostname newhostname但要注意的是,以上hostname命令只是临时修改了主机名,重启后失效。如果你想永久地改变主机名,必须编辑以下文件:vi /etc/sysconfig/networkHO原创 2013-09-18 13:35:07 · 3128 阅读 · 1 评论 -
[Linux] rlwrap - 解决Linux下sqlplus退格、上翻键乱码问题
在Linux下使用sqlplus你会发现:退格键无法正常使用(乱码),上翻键也无法正常显示历史功能,非常讨厌!为了让退格键和上翻键在sqlplus里正常发挥它的作用,我们必须安装一个软件 - rlwrap1. 首先,从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载安装包,上传到linux服务器上2. 以root用户解压缩安装tar -zxv原创 2013-07-25 12:41:47 · 3451 阅读 · 0 评论