首页 / 操作系统 / Linux / Linux服务器管理日记分享
1. 安装 webmin 复制代码 代码如下: # 安装 webmin cd /usr/local/ieternal/ mkdir download cd download</p><p>wget <a href="http://downloads.sourceforge.net/project/webadmin/webmin/1.660/webmin-1.660-1.noarch.rpm?r=http%3A%2F%2Fwww.webmin.cn%2F&ts=1387801624&use_mirror=jaist">http://downloads.sourceforge.net/project/webadmin/webmin/1.660/webmin-1.660-1.noarch.rpm?r=http%3A%2F%2Fwww.webmin.cn%2F&ts=1387801624&use_mirror=jaist</a></p><p>rpm -U webmin-1.660-1.noarch.rpm </p><p># 此时,可以通过: <a href="http://115.28.9.136:10000/">http://115.28.9.136:10000/</a> 进行访问,用户名,密码是root的.</p><p>2. SSH Tunnel端口转发,端口代理 复制代码 代码如下: ############################################## #### SSH Tunnel; 经测试,已经打通 ############################################## # 公网服务器外网IP: 115.28.9.136 # 公网服务器内网IP: 10.144.7.195 # 内网服务器内网IP: 10.144.7.191</p><p>### 1 先登录 115.28.9.136</p><p>ssh <a href="mailto:root@115.28.9.136">root@115.28.9.136</a> -p 22</p><p>#通过 webmin 修改 ssh配置,并应用变更 # 实质是 /etc/ssh/sshd_config 文件 GatewayPorts yes</p><p> ### 2 在 136 上登录 10.144.7.191</p><p>ssh <a href="mailto:root@10.144.7.191">root@10.144.7.191</a> -p 22</p><p>### 3 在 10.144.7.191 上执行: # 即通过此SSH后台登陆 195机器,监听了 195:19122端口, # 此时访问 136:19122 的请求,相当于都转发到本地的22端口了。 # -Nf 是后台命令的意思 ssh -Nf 10.144.7.195 -R 19122:10.144.7.191:22</p><p># 此时,客户端通过 115.28.9.136:19122 登录,实际上登陆的就是 10.144.7.191:22 服务器了。3. 安装squid代理 复制代码 代码如下: ##### 1. 安装squid yum -y remove squid yum -y install squid</p><p>##### 2. 修改配置文件 #搜索”http_access deny all”改为”http_access allow all” # ESC, /http_access 可以进行搜索 vim /etc/squid/squid.conf</p><p># 执行以下修改</p><p>#http_access deny CONNECT !SSL_ports http_access allow CONNECT !SSL_ports</p><p>#http_access deny all http_access allow all</p><p>#coredump_dir /var/spool/squid coredump_dir /usr/local/ieternal/squid_cache</p><p>##### 3. 设置缓存目录 ##### !!!必须修改该目录的所属用户及用户组 mkdir /usr/local/ieternal/squid_cache chown squid:squid /usr/local/ieternal/squid_cache cd /usr/local/ieternal/squid_cache/ /usr/sbin/squid -k shutdown /usr/sbin/squid -z</p><p>##### 4. 启动 #/usr/sbin/squid service squid start </p><p>##### 5. 查看监听端口状态 netstat -ntl4. 在内网机器上设置yum代理 复制代码 代码如下: #### 在191上执行:设置代理</p><p>#yum的代理可以单独设置 vim /etc/yum.conf # 在最后加上 proxy=http://10.144.7.195:3128 # 也可以如此执行 #cp /etc/yum.conf /etc/yum.conf_original #echo "proxy=http://10.144.7.195:3128" >> /etc/yum.conf</p><p>#在Linux的命令行底下,一般的程序都是使用http_proxy和ftp_proxy这两个环境变量来获得代理设置的。</p><p>#所以只要使用export http_proxy=10.144.7.195:3128就可以使用代理了。 #export http_proxy=10.144.7.195:3128</p><p># 如果要设置系统级别的代理,使用如下语句: #vim /etc/profile</p><p>#http_proxy="10.144.7.195:3128" #export_http_proxy 完整的命令如下所示:复制代码 代码如下: cp /root/.bash_profile /root/.bash_profile_bak_1231 echo "http_proxy=10.144.7.195:3128" >> /root/.bash_profile echo "export http_proxy" >> /root/.bash_profile source /root/.bash_profile echo $http_proxy 此时,可以使用yum安装,更新软件了5. 使用 kill 杀死某些僵死的进程 复制代码 代码如下: # 查看含有tomcat的进程 ps -aux | grep tomcat</p><p># 杀死指定的进程 # xxx 是看到的进程号 kill -9 xxx</p><p># 重新启动tomcat # ... ...6. 远程主机签名更改的解决办法 因为重置了131服务器,所以从linux上再次登录时提示远程主机已更改,提示的信息如下:复制代码 代码如下: [root@AY1312181745044978b4Z ~]# ssh 10.144.169.131 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is 36:86:33:b9:61:f8:fc:92:df:0b:d7:b3:ae:e5:4e:fb. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:2 RSA host key for 10.144.169.131 has changed and you have requested strict checking. Host key verification failed. 其实从上面的信息提示可以知道,需要修改 /root/.ssh/known_hosts 。解决方式是将此IP对应的行删除即可。 操作方式是使用 vi 或者 vim 打开该文件,然后按ESC进入命令模式(如果按 a 或者 i 则进入编辑模式),并定位到需要删除的行,按 dd 即可删除一行。复制代码 代码如下: vim ~/.ssh/known_hosts7. 安装rzsz 在XShell或者其他ssh客户端工具中,可以使用 rz来选择文件上传,也可以用 sz 选择文件下载。所以是个很好用的工具。 安装很简单:复制代码 代码如下: yum install lrzsz -y 下载文件示例:复制代码 代码如下: sz /etc/init.d/mysql 执行此命令后,会弹出一个对话框,选择本地存放路径后就开始下载. 但是对命令行显示可能会有些延迟,完成操作后再按一次回车即可。 至于rz的操作,就更简单了,先 cd 到需要上传的路径,然后执行 rz 命令即可. 然后也是弹出对话框,选择文件上传。8. 查看磁盘空间使用情况 复制代码 代码如下: # df -h FilesystemSizeUsed Avail Use% Mounted on /dev/xvda1 20G6.1G 13G33% / tmpfs 939M 0939M 0% /dev/shm /dev/xvdb1 50G 21G 26G45% /usr/local/ieternal9. 查看当前目录的空间大小 复制代码 代码如下: # du -ch --max-depth=1 4.5G ./video_source 270M ./client 8.5G ./video 23M ./family 14M ./sid 341M ./repository 20M ./guide 127M ./style 1.5G ./photo 2.0G ./music 3.0G ./video_dest 21G . 21G total -c 是在最后做一个统计的信息, -h 是显示人工可读的统计信息,如270M, 4.5G,等。 最大深度设置为1. 更多选项可以使用 "man du" 来查看10. 安装JDK 复制代码 代码如下: # 查看可用列表 yum list java* # 然后安装JDK7,openJDK6有bug,所以... yum install java-1.7.0-openjdk* -y 检查是否安装正确:复制代码 代码如下: # java -version java version "1.7.0_45" OpenJDK Runtime Environment (rhel-2.4.3.4.el6_5-x86_64 u45-b15) OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode) # javac -version javac 1.7.0_4511. 设置 wget 代理 复制代码 代码如下: echo "https_proxy=http://10.144.7.195:3128/" >> $HOME/.wgetrc echo "http_proxy=http://10.144.7.195:3128/" >> $HOME/.wgetrc echo "ftp_proxy=http://10.144.7.195:3128/" >> $HOME/.wgetrc12. 安装 tomcat 复制代码 代码如下: # 创建下载目录 mkdir /usr/local/ieternal/download # 进入下载目录 cd /usr/local/ieternal/download</p><p># 下载文件 wget <a href="http://mirror.bit.edu.cn/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz">http://mirror.bit.edu.cn/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz</a> # 解压文件 tar -zxf apache-tomcat-6.0.37.tar.gz # 剪切目录 mv apache-tomcat-6.0.37 /usr/local/tomcat # 进入tomcat配置目录 cd /usr/local/tomcat/conf/ # 备份原始的配置文件 cp -a /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml_original</p><p># 按需要编辑 vim /usr/local/tomcat/conf/server.xml 完整的一个示例如下: 其中配置了 2个主机域, 其中也包括默认域的配置,并将 根目录 与 upload 目录都映射到了自定义文件夹。 需要注意的是,默认是不能有汉字存在的,因为默认保存的是ANSI编码。复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?></p><p><Server port="8005" shutdown="SHUTDOWN"></p><p><!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> <Listener className="org.apache.catalina.core.JasperListener" /> <!-- Prevent memory leaks due to use of particular java/javax APIs--> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html --> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /></p><p><!-- Global JNDI resources Documentation at /docs/jndi-resources-howto.html --> <GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources></p><p><!-- renfufei,20131229,not loadbalance --> <Service name="Catalina"> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="250" minSpareThreads="20"/> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla,traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json,application/javascript,application/x-javascript" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" executor="tomcatThreadPool"/> <Engine name="Catalina" defaultHost="<a href="http://www.renfufei.com">www.renfufei.com</a>"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="<a href="http://www.renfufei.com">www.renfufei.com</a>"appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>localhost</Alias> <Alias>www.renfufei.cn</Alias> <Alias>renfufei.com</Alias> <Alias>renfufei.cn</Alias> <Context docBase="/usr/local/renfufei/upload"path="/upload" /> <Context docBase="/usr/local/renfufei/index"path="" /> </Host> <Host name="m.renfufei.com"appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>m.renfufei.com</Alias> <Alias>m.renfufei.cn</Alias> <Context docBase="/usr/local/renfufei/upload"path="/upload" /> <Context docBase="/usr/local/renfufei/blog"path="" /> </Host> </Engine> </Service></p><p></Server>13. 安装FFMpeg转码程序 FFMpeg 是一个集播放,采集输入源,解码,转码,影音服务器这些功能的强大开源类库。我们主要用于转码。 编译安装的方式,需要下载源码包,大体操作如下: 复制代码 代码如下: #### Tran1 上</p><p>首先安装编译环境。 yum install -y automake autoconf libtool gcc gcc-c++ yum install make 下载所需文件 ffmpeg.tar wget <a href="http://m.ieternal.com/upload/ffmpeg.tar">http://m.ieternal.com/upload/ffmpeg.tar</a> 解压ffmpeg.tar tar xvf ffmpeg.tar 切换到ffmpeg目录下,执行以下命令。</p><p>./configure --prefix=/usr -- disable-yasm </p><p>make </p><p>make install 测试转码命令,注意区分文件名的大小写 包括后缀 ffmpeg -i /usr/local/movi/qq.mov -r 25 -b 3200k -vcodec mpeg4 -ab 128k -ac 2 -ar 44100/usr/local/movi/kk.mp4。</p><p> 另外一种是采用别人已经构建编译好的版本,如下所示:复制代码 代码如下: ######### #Tran2.3.4上: #下载目录: <a href="http://ffmpeg.gusari.org/static/64bit/">http://ffmpeg.gusari.org/static/64bit/</a> #01-02版本: d1062ad9c208267241b6dfac7fa4ea25 (md5)</p><p># 创建目录并下载 mkdir /usr/local/ieternal/download mkdir /usr/local/ffmpeg cd /usr/local/ieternal/download wget <a href="http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-01-02.tar.gz">http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-01-02.tar.gz</a></p><p>mv /usr/local/ieternal/download/ffmpeg.static.64bit.2014-01-02.tar.gz /usr/local/ffmpeg/ffmpeg.tar.gz</p><p>cd /usr/local/ffmpeg # md5校验 md5sum ffmpeg.tar.gz # 解压到当前目录 tar zxf ffmpeg.tar.gz</p><p> # 设置 Path cp /root/.bash_profile /root/.bash_profile_bak_0102 echo "PATH=$PATH:/usr/local/ffmpeg" >> /root/.bash_profile echo "export PATH" >> /root/.bash_profile source /root/.bash_profile echo $PATH</p><p>14. 启动内网端口转发 复制代码 代码如下: ### 2. 查看IP以及网卡信息 # 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡 # 公网网卡, eth1 的地址 inet addr:115.28.9.136, # 此外,还有一个回环地址, 127.* </p><p>ifconfig</p><p>### 2.0 查看端口占用情况 netstat -ntl</p><p>### 2.1 查看系统中现有的iptables规划集</p><p>iptables --list -t nat</p><p>### 2.2 查看IP转发的启用状态</p><p>cat /proc/sys/net/ipv4/ip_forward</p><p>########清空 nat table # --flush -F, Delete all rules # --delete-chain -X , Delete a user-defined chain # --zero -Z ,Zero counters in chain or all chains</p><p>iptables -F -t nat iptables -X -t nat iptables -Z -t nat</p><p> ######### 启用IP包转送,即时生效 echo 1 > /proc/sys/net/ipv4/ip_forward</p><p># IP包转送,也可以设置 net.ipv4.ip_forward = 1 vim /etc/sysctl.conf</p><p># 然后执行生效, 重启依然有效 sysctl -p</p><p># 将 3306端口映射到 10.144.169.131:3306, # PREROUTING 和 POSTROUTING 都必须设置 # 经测试已经打通 iptables -t nat -A PREROUTING -m tcp -p tcp --dport 6606 -j DNAT --to-destination 10.144.169.131:6606 iptables -t nat -A POSTROUTING -j MASQUERADE</p><p>15. 压缩文件 将当前目录下的 blog 目录打包到 blog.tar.gz 文件中:复制代码 代码如下: tar -zcf blog.tar.gz blog 其中, -c 表示压缩,compress; -z表示进行zip压缩; -f 就表示输出到文件(而不是输出流,内存什么的.); 后面的 blog 就是相对的路径, 可以是空格分隔的多个文件/目录. 而命名为 .tar.gz 也是一种命名习惯,一眼就可以看出是经过 gzip 压缩的 tar文件。 如果不需要压缩,命令如下所示:复制代码 代码如下: tar -cf blog.tar blog16. 解压文件 对应的目录如下: 复制代码 代码如下:tar -zxf blog.tar.gz 如果不是gzip压缩,可以如下:复制代码 代码如下:tar -xf blog.tar17. NFS简单使用 复制代码 代码如下: # 说明,centos5使用的是portmap # yum install nfs-utils portmap # centos6 使用的是rpcbind # yum -y install nfs-utils rpcbind NFS服务端复制代码 代码如下: # 安装软件包 yum -y install nfs-utils rpcbind</p><p># 创建测试目录 cd /usr/local/ mkdir /usr/local/nfstest mkdir /usr/local/nfstest/nfsdir</p><p># 添加内容 echo "/usr/local/nfstest 10.144.169.0/24(rw,no_root_squash)" >> /etc/exports</p><p>cat /etc/exports</p><p>chkconfig nfs on # 启动 /etc/init.d/rpcbind start</p><p>/etc/init.d/nfs start NFS客户端复制代码 代码如下: # 安装软件包 yum -y install nfs-utils rpcbind</p><p>showmount -e 10.144.169.135</p><p># cd /usr/local/ mkdir /usr/local/nfstest</p><p>mount -t nfs 10.144.169.135:/usr/local/nfstest//usr/local/nfstest/</p><p>ll /usr/local/nfstest/</p><p> # 设置自动加载,需要写入到 /etc/fstab # 此处暂时还不理解 10.144.169.135:/usr/local/nfstest/ /usr/local/nfstest/ nfs nodev,ro,rsize=32768,wsize=32768 0 018. 虚拟机复制以后设置网卡信息 VMware虚拟机复制以后,可能出现网卡信息加载不成功的问题;复制代码 代码如下: Bringing up interface eth0:Device eth0 does not seem to be present,delaying initialization.[FAILED] 此时,需要修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件的信息以避免冲突。方法如下: 复制代码 代码如下: # cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key.</p><p># PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d7:b6:a9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"</p><p># PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:90:dd:db", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" 先查看物理硬件信息,然后记下 eth1网卡的MAC地址信息,比如"00:0c:29:90:dd:db"; 然后修改eth0配置脚本:复制代码 代码如下: vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改以后的信息类似如下所示,其中,我这里的虚拟机NAT对应的是 192.168.254.*网段,具体的网段信息可以看windows的 "VMware Network AdapterVMnet8" 这张网卡的信息,或者在cmd下输入 ipconfig 命令查看,而 192.168.254.2 是VMWARE的网关。自动NAT的地址。如果审不准请查看VMWARE的自动DHCP信息。复制代码 代码如下: # cat /etc/sysconfig/network-scripts/ifcfg-eth0" DEVICE=eth1 HWADDR=00:0C:29:90:DD:DB TYPE=Ethernet UUID=cfb84a5c-c605-46ee-853c-214a7f4d7546 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR="192.168.254.137" NETMASK="255.255.255.0" GATEWAY="192.168.254.2"</p><p>DNS1="192.168.254.2" 然后,重启网络即可。在我这里是测试ping www.baidu.com 是通的。复制代码 代码如下: #重启网络 service network restart 另外,针对安装VMWARE以后windows7的网络很慢的问题,可以在 控制面板 --> 网络连接 --> 本地连接 --> 属性 --> Internet4设置 --> 高级 --> IP设置 --> 默认网关 设置跃点数为 1 即可。19. 安装rsync 服务器端:复制代码 代码如下: ############ ############ ## 服务器端</p><p># 安装 yum -y install rsync xinetd</p><p># 启动rsync依赖服务 /etc/init.d/xinetd start chkconfig xinetd on</p><p>mkdir /usr/local/ieternal mkdir /usr/local/ieternal/upload mkdir /etc/rsyncd</p><p>#rsync服务器的配置文件 touch /etc/rsyncd/rsyncd.conf</p><p>#定义服务器信息的文件 touch /etc/rsyncd/rsyncd.motd</p><p>#用户密码文件 touch /etc/rsyncd/rsyncd.secrets chmod 600 /etc/rsyncd/rsyncd.secrets</p><p></p><p>############################## ############################## vim /etc/rsyncd/rsyncd.conf 文件 /etc/rsyncd/rsyncd.conf 的内容如下: 其中只定义了一个upload的节,后面的客户端连接需要指明连到此节复制代码 代码如下: address=192.168.254.137 port=873 max connections=10 uid=root gid=root use chroot=no strict modes=yes</p><p> motd file =/etc/rsyncd/rsyncd.motd log format=%t %a %m %f %b syslog facility=local3 timeout =300</p><p>[upload] path=/usr/local/ieternal/upload/ exclude =repository/ comment =upload path ignore errors read only=no list=yes auth users =rsync_user secrets file =/etc/rsyncd/rsyncd.secrets hosts allow=192.168.254.0/255.255.255.0 hosts deny=* pid file =/var/run/rsyncd.pid lock file =/var/run/rsync.lock log file =/var/log/rsync.log 指定用户与密码,此处显示了内容:复制代码 代码如下: #cat /etc/rsyncd/rsyncd.secrets rsync_user:pass_word 欢迎信息:复制代码 代码如下: #cat /etc/rsyncd/rsyncd.motd services user=rsync_user;pass_word=*** 启动rsync服务复制代码 代码如下: #启动rsync服务: /usr/bin/rsync --daemon--config=/etc/rsyncd/rsyncd.conf # 查看端口状态 netstat -ntl 客户端:复制代码 代码如下: # 1.安装 mkdir /usr/local/ieternal mkdir /usr/local/ieternal/upload mkdir /etc/rsyncd yum -y install rsync xinetd</p><p># 2.启动rsync依赖服务 /etc/init.d/xinetd start chkconfig xinetd on</p><p># 3.客户端必须配置密码文件 touch /etc/rsync.pas chmod 600 /etc/rsync.pas vim /etc/rsync.pas 指定密码:复制代码 代码如下: #cat /etc/rsync.pas pass_word 执行同步:复制代码 代码如下: # 4.执行同步 # 下载: rsync -auzv --progress --delete --password-file=/etc/rsync.pas <a href="mailto:rsync_user@192.168.254.137::upload">rsync_user@192.168.254.137::upload</a> /usr/local/ieternal/upload</p><p># 上传: rsync -auzv --progress --delete --password-file=/etc/rsync.pas /usr/local/ieternal/upload/* <a href="mailto:rsync_user@192.168.254.137::upload">rsync_user@192.168.254.137::upload</a> 错误信息: 复制代码 代码如下: rsync: failed to connect to 192.168.254.137: No route to host (113) rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6] 已查明是由于防火墙开启引起的,此时可以修改防火墙过滤规则,或者在客户端与服务器端停用防火墙:复制代码 代码如下: # 停止防火墙 service iptables stop20. IO监控工具 安装:复制代码 代码如下: yum -y install iotop 使用复制代码 代码如下: # iotop 大体的汇总信息如下:磁盘读写的速度复制代码 代码如下: Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s21. 安装memcached 如果没有gcc,需要安装: 复制代码 代码如下: # 安装 gcc yum -y install gcc 安装依赖库 libevent::复制代码 代码如下: # 安装依赖库 libevent yum -y install libevent libevent-devel 下载 程序包, 参考地址是: http://memcached.org/复制代码 代码如下: # 下载 mkdir /usr/local/ieternal mkdir /usr/local/ieternal/download cd /usr/local/ieternal/download wget <a href="http://www.memcached.org/files/memcached-1.4.17.tar.gz">http://www.memcached.org/files/memcached-1.4.17.tar.gz</a> 对下载包校验:复制代码 代码如下: # 计算 sha1值, # linux自带的哈希校验工具:sha1sum 或 md5sum; # 2b4fc706d39579cf355e3358cfd27b44d40bd79c sha1sum memcached-1.4.17.tar.gz 解压:复制代码 代码如下: # 解压 tar zxf memcached-1.4.17.tar.gz 安装: 复制代码 代码如下: # 安装 # 默认情况, memcached 安装到 /usr/local/bin/ 目录下 cd memcached-1.4.17 ./configure make make install 前台启动:复制代码 代码如下: # /usr/local/bin/memcached -p 11211 -m 64m -vv -u root /usr/local/bin/memcached -u root 后台启动:复制代码 代码如下: # 后台启动 # -h 只显示帮助信息 # -u root 时指定以某个用户运行 # -p TCP端口号; # -m 最大内存大小,默认为 64M # -vv 用 very verbose 模式启动,调试信息和错误 输出到控制台 # -d 作为daemon在后台启动 /usr/local/bin/memcached -p 11211 -m 64m -d -u root 启动时使用pid文件,将进程ID写入到特定文件:复制代码 代码如下: # 后台启动,端口号,内存,用户,pid文件 /usr/local/bin/memcached -d -p 11211 -m 128m -u root -P /usr/local/memcached.pid ps aux |grep memcached cat /usr/local/memcached.pid # 杀进程,注意不是单引号,而是 大键盘数字1前面那个字符` kill `cat /usr/local/memcached.pid`22. 使用 GPG 生成密钥对 复制代码 代码如下: # 安装GnuPG, 即GPG,一般系统已经自带 yum install gpgme -y</p><p># 查看帮助信息 gpg --help</p><p># 生成密钥... gpg --gen-key23. Apache Bench基准测试 Apache Bench 简称 ab,是 Apache服务器附带的一款压力基准测试工具。使用方式:复制代码 代码如下: /usr/local/apache2/bin/ab -c 10 -t 10 <a href="http://www.baidu.com/">http://www.baidu.com/</a> 其中, -c 是指concurrency,即并发线程数; -t 是指时间,单位是秒。上面的意思是: 测试 百度 10秒钟,采用 10个客户端线程. 另外还有一个常用的参数是 -n, 即总的限制测试次数是多少次,如果多个参数组合使用,应该是先达到的条件会成为限制条件。 当然,上面是使用的全路径,请根据安装路径决定。也可以先进入apache的bin目录:复制代码 代码如下: cd /usr/local/apache2/bin/ # 测试100次 ./ab -c 10 -n 100 <a href="http://www.baidu.com/">http://www.baidu.com/</a> 在windows下的使用方式也是一样的,只是路径不一样而已。 当然,也可以将结果输出到文件之中,采用HTML格式:复制代码 代码如下: ./ab -c 10 -t 10 -w <a href="http://www.baidu.com/">http://www.baidu.com/</a> >> /usr/local/ab_20140311204010.log.html 详细的帮助信息如下所示:复制代码 代码如下: [root@ALY bin]# cd /usr/local/apache2/bin/ [root@ALY bin]# ./ab -h 使用方式: ./ab [options] [http://]hostname[:port]/path 选项包括: -n requests 要执行的请求的次数 -c concurrency要构建多少个并发线程来执行 -t timelimit最大限制时间,单位(Second,秒). 时间到后会等待响应完成才退出 -b windowsize TCP协议 发送/接收的缓冲区大小, 单位字节(byte) -p postfile POST请求要发送的数据. 需要设置选项 -T -u putfilePUT请求要发送的数据. 需要设置选项 -T -T content-type 发送的内容格式头信息 (Content-type), 例如 "application/x-www-form-urlencoded" 等, 默认值是 "text/plain" -v verbosity需要打印的故障排除日志信息级别 -w使用 HTML tables 格式打印结果信息 -i使用 HEAD 方式请求,而不是 GET 方式 -x attributes 要插入作为 table attributes 的字符串 -y attributes 要插入作为 tr attributes 的字符串 -z attributes 要插入作为 td/th attributes 的字符串 -C attribute添加 cookie信息, 示例: "Apache=1234. (可多个) -H attribute添加任意的头信息(header line), 例如: "Accept-Encoding: gzip" 插入到其他正常的头信息后面. (可多个) -A attribute添加基本网站认证信息(Basic WWW Authentication), 属性采用英文冒号(:) 来分隔 username 和 password. -P attribute添加代理用户密码(Basic Proxy Authentication), 属性采用英文冒号(:) 来分隔 username 和 password. -X proxy:port 要使用的代理服务器,以及端口号 -V只打印版本号并且退出 -k使用 HTTP KeepAlive 特性 -d不要显示响应时间统计百分比. -S不要显示 信任估计(? confidence estimators) 和警告信息. -g filename 将收集的数据输出到 Gnuplot交互式绘图 格式文件. -e filename 将响应时间统计百分比输出到 CSV 文件 -r当 socket 接受到错误时不要退出. -h显示帮助信息(实际上就是此信息)24. 时间同步 同步时间可以使用 root 执行如下命令完成:复制代码 代码如下: rdate -s time.nist.gov 如果需要自动同步,可以采用crontab自动调度,每小时执行一次: 编辑 crontab: 复制代码 代码如下: crontab -e 按 i 进入插入模式,然后添加如下一行: 复制代码 代码如下: 1 * * * * root rdate -s time.nist.gov 然后依次按 ESC进入命令模式, 看见冒号以后,输入 wq 和回车保存退出即可(其实就是vi /etc/crontab).
收藏该网址