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 -ntl

4. 在内网机器上设置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_hosts

7. 安装rzsz

在XShell或者其他ssh客户端工具中,可以使用 rz来选择文件上传,也可以用 sz 选择文件下载。所以是个很好用的工具。

安装很简单:

复制代码

代码如下:

yum install lrzsz -y

下载文件示例:

复制代码

代码如下:

sz /etc/init.d/mysql

执行此命令后,会弹出一个对话框,选择本地存放路径后就开始下载. 但是对命令行显示可能会有些延迟,完成操作后再按一次回车即可。

至于rz的操作,就更简单了,先 cd 到需要上传的路径,然后执行 rz 命令即可. 然后也是弹出对话框,选择文件上传。

8. 查看磁盘空间使用情况

复制代码

代码如下:

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 6.1G 13G 33% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/xvdb1 50G 21G 26G 45% /usr/local/ieternal

9. 查看当前目录的空间大小

复制代码

代码如下:

# 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_45

11. 设置 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/.wgetrc

12. 安装 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 blog

16. 解压文件

对应的目录如下:

复制代码

代码如下:

tar -zxf blog.tar.gz

如果不是gzip压缩,可以如下:

复制代码

代码如下:

tar -xf blog.tar

17. 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 0

18. 虚拟机复制以后设置网卡信息

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 stop

20. IO监控工具

安装:

复制代码

代码如下:

yum -y install iotop

使用

复制代码

代码如下:

# iotop

大体的汇总信息如下:磁盘读写的速度

复制代码

代码如下:

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s

21. 安装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-key

23. 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 putfile PUT请求要发送的数据. 需要设置选项 -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).

(0)

相关推荐

  • 阿里云linux服务器修改root管理密码教程

    阿里云主机己是国内小型站长的一个非常好的选择了,不但技术成熟并且网络质量非常的好了,下面我们来看看阿里云linux服务器修改root管理密码方法,希望能帮助到各位。 阿里云linux服务器修改root ...

  • 阿里云linux服务器如何修改root管理密码

    阿里云主机己是国内小型站长的一个非常好的选择了,不但技术成熟并且网络质量非常的好了,下面我们来看看阿里云linux服务器修改root管理密码方法,希望能帮助到各位. 阿里云linux服务器修改root ...

  • 宝塔服务器管理助手Linux面版-安装教程

    在看过魏艾斯博客写的宝塔服务器管理助手windows版建站教程之后,有的人会说毕竟linux服务器还是现在用的最多的,很多新手对于手动一个个安装php环境是有恐惧感的:类似lnmp一键安装包对于他们来 ...

  • 宝塔服务器管理助手Linux面版-使用教程

    在顺利安装宝塔服务器linux面板之后,我们打开这个面板,UI界面设计的很简介,所有命令一看就知道是干什么用的,和我们以前用过的虚拟主机管理后台是很像的. 操作方法 01 使用方法如下: 面板地址:h ...

  • linux服务器下LNMP安装与配置方法

    现在很多朋友都选择了linux服务器下配置LNMP(linux+nginx+mysql+php),这里分享下LNMP安装与配置方法,需要的朋友可以参考下 Nginx与apache、lighttp性能综 ...

  • 盘点十大最流行的Linux服务器发行版

    随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充。很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用。但伴随着Linux新版本的发行,其中每一个不同版本的L ...

  • 用Monit监测Linux 服务器

    monit用 Monit 监测 linux 服务器 Monit 是一个用来监测系统状态的工具,不但可以用来监视进程、服务、文件、目录、文件系统,还可以在服务 down 掉的时候自动重启服务或者当某个进 ...

  • Linux服务器安全小技巧

    如果你的Linux服务器被非受权用户接触到(如服务器放在公用机房内、公用办公室内),那么它的安全就会存在严重的隐患。 ??使用单用户模式进入系统 ??Linux启动后出现boot:提示时,使用一个特殊 ...

  • linux vps管理之ssh远程连接软件工具篇

    linux vps管理之ssh远程连接软件工具篇