14  启动内网端口转发

### 2. 查看IP以及网卡信息
# 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡
# 公网网卡, eth1 的地址 inet addr:115.28.9.136,
# 此外,还有一个回环地址, 127.* 

ifconfig

### 2.0 查看端口占用情况
netstat -ntl

### 2.1 查看系统中现有的iptables规划集

iptables --list -t nat

### 2.2 查看IP转发的启用状态

cat /proc/sys/net/ipv4/ip_forward

########清空 nat table
# --flush -F  , Delete all rules
# --delete-chain -X , Delete a user-defined chain
# --zero -Z ,  Zero counters in chain or all chains

iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat

######### 启用IP包转送,即时生效
echo 1 > /proc/sys/net/ipv4/ip_forward

# IP包转送,也可以设置 net.ipv4.ip_forward = 1
vim /etc/sysctl.conf

# 然后执行生效, 重启依然有效
sysctl -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

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简单使用

参考地址: http://blog.chinaunix.net/uid-26284318-id-3111651.html

# 说明,centos5使用的是portmap
# yum install nfs-utils portmap
# centos6 使用的是rpcbind
# yum -y install nfs-utils rpcbind

NFS服务端

# 安装软件包
yum -y install nfs-utils rpcbind

# 创建测试目录
cd /usr/local/
mkdir /usr/local/nfstest
mkdir /usr/local/nfstest/nfsdir

# 添加内容
echo "/usr/local/nfstest 10.144.169.0/24(rw,no_root_squash)" >> /etc/exports

cat /etc/exports

chkconfig nfs on
# 启动
/etc/init.d/rpcbind start

/etc/init.d/nfs start

NFS客户端

# 安装软件包
yum -y install nfs-utils rpcbind

showmount -e 10.144.169.135

#
cd /usr/local/
mkdir /usr/local/nfstest

mount -t nfs 10.144.169.135:/usr/local/nfstest/  /usr/local/nfstest/

ll /usr/local/nfstest/

# 设置自动加载,需要写入到 /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.

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

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

DNS1="192.168.254.2"

然后,重启网络即可。在我这里是测试ping www.baidu.com 是通的。

#重启网络
service network restart

另外,针对安装VMWARE以后windows7的网络很慢的问题,可以在 控制面板 --> 网络连接 --> 本地连接 --> 属性 --> Internet4设置 --> 高级 --> IP设置 --> 默认网关 设置跃点数为 1 即可。

参考地址: http://www.linuxidc.com/Linux/2012-12/76248.htm

另外找到一个很好的Linux管理员日记: http://xiangxingchina.iteye.com/blog/960337

还有一个CSDN专家的 http://blog.csdn.net/cndes/article/details/4636909

19. 安装rsync

服务器端:

############
############
## 服务器端

# 安装 (xinetd, 超级Internet守护进程)
yum -y install rsync xinetd

# 启动rsync依赖服务
/etc/init.d/xinetd start
chkconfig xinetd on

mkdir /usr/local/ieternal
mkdir /usr/local/ieternal/upload
mkdir /etc/rsyncd

#rsync服务器的配置文件
touch /etc/rsyncd/rsyncd.conf

#定义服务器信息的文件
touch /etc/rsyncd/rsyncd.motd

#用户密码文件
touch /etc/rsyncd/rsyncd.secrets
chmod 600 /etc/rsyncd/rsyncd.secrets

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

motd file =/etc/rsyncd/rsyncd.motd

log format=%t %a %m %f %b
syslog facility=local3
timeout =300

[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

# 2.启动rsync依赖服务
/etc/init.d/xinetd start
chkconfig xinetd on

# 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 rsync_user@192.168.254.137::upload /usr/local/ieternal/upload

# 上传:
rsync -auzv --progress --delete --password-file=/etc/rsync.pas /usr/local/ieternal/upload/* rsync_user@192.168.254.137::upload

错误信息: 

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 http://www.memcached.org/files/memcached-1.4.17.tar.gz

对下载包校验:

# 计算 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

# 查看帮助信息
gpg --help

# 生成密钥...
gpg --gen-key

生成密钥及更多的详细内容,请参考: GPG入门教程

23. Apache Bench基准测试

Apache Bench 简称 ab,是 Apache服务器附带的一款压力基准测试工具。使用方式:

/usr/local/apache2/bin/ab -c 10 -t 10 http://www.baidu.com/

其中, -c 是指concurrency,即并发线程数;-t 是指时间,单位是秒。上面的意思是: 测试 百度 10秒钟,采用 10个客户端线程.

另外还有一个常用的参数是 -n, 即总的限制测试次数是多少次,如果多个参数组合使用,应该是先达到的条件会成为限制条件。
当然,上面是使用的全路径,请根据安装路径决定。也可以先进入apache的bin目录:

cd /usr/local/apache2/bin/
# 测试100次
./ab -c 10 -n 100 http://www.baidu.com/

在windows下的使用方式也是一样的,只是路径不一样而已。

当然,也可以将结果输出到文件之中,采用HTML格式:

./ab -c 10 -t 10 -w http://www.baidu.com/ >> /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              显示帮助信息(实际上就是此信息)

Linux管理日记(二)的更多相关文章

  1. Linux学习日记(二)

    在linux上运行.Net程序 并安装Linux网站 一.环境 ubuntu14.10(桌面版 官网下载的最新版) jexus5.6.3 正式版 MonoDevloper (安装完后里面有个Ubunt ...

  2. Linux管理日记(三)

    23. 时间同步 同步时间可以使用 root 执行如下命令完成: rdate -s time.nist.gov 如果需要自动同步,可以采用crontab自动调度,每小时执行一次:  编辑 cronta ...

  3. Linux管理日记(一)

    作者: 铁锚 日期: 2013年12月23日 1. 安装 webmin # 安装 webmin cd /usr/local/ieternal/ mkdir download cd download w ...

  4. linux(十二)之用户管理

    前面学习了那么多关于linux的东西,相信大家都对linux应该 有一个大概的了解了.现在给大家分享的是linux中的用户管理,接下来让我们进入正题吧! 今天其实放松了一整天了,有点后悔自己没有把这些 ...

  5. linux磁盘管理系列二:软RAID的实现

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  6. Linux内存管理(二)

    Linux内存管理之二:Linux在X86上的虚拟内存管理 本文档来自网络,并稍有改动. 前言 Linux支持很多硬件运行平台,常用的有:Intel X86,Alpha,Sparc等.对于不能够通用的 ...

  7. Linux设备管理(二)_从cdev_add说起

    我在Linux字符设备驱动框架一文中已经简单的介绍了字符设备驱动的基本的编程框架,这里我们来探讨一下Linux内核(以4.8.5内核为例)是怎么管理字符设备的,即当我们获得了设备号,分配了cdev结构 ...

  8. 运维之Linux基础(二)

    运维之Linux基础(二) 1. file 命令基期用法 2. 文件系统 Linux的文件系统结构是树状结构,所有的文件都在/root跟目录下 /boot:系统启动相关的文件, 如:内核.initrd ...

  9. linux管理面板

    小编在这儿给大家介绍几款linux管理面板,希望感兴趣的童鞋可以去尝试下.个人觉得宝塔和appnode这两个面板不仅从功能和样式都还是做的比较好的,但是部分功能是收费的,但是webmin绝对是一款免费 ...

随机推荐

  1. ubuntu重装指定版本的mysql

    查看错误log cat /var/log/mysql/error.log 首先彻底删除mysql,比如版本5.5 apt-get autoremove --purge mysql-server-5.5 ...

  2. Azkaban-2.5及Plugins的安装配置

    Azkaban是由LinkedIn开发的调度工具,可以用于调度Hadoop中的相互依赖的Job.有时候,在Hadoop集群中运行的Job是相互依赖的,某些任务需要顺序的执行,这种场景下使用Azkaba ...

  3. 微信小程序基础之表单Form的使用

    表单Form的应用很广泛,我们可以利用form设计登录注册,也可以设计一种答题问卷的形式,今天主要讲一下form的使用 form表单,将组件内输入的"switch","i ...

  4. 一个貌似比较吊的递归转换为loop--总算成功了.--第二弹

    前段时间用类似于散弹式编程的方式,各种猜测-运行验证-修正结果,最终成功转换了一个看起来比较有难度的递归函数.但总觉得很蛋疼,原因如下: 1.虽然正确,但是逻辑搞得比较复杂.现在去看,一头雾水,不知道 ...

  5. Dynamics CRM2016 Web API之Expand related entities & $ref & $count

    本篇介绍两个关于1:N关系中通过主实体取关联子实体的api,这两个api会经常被用到而且比原来的odata方式更加方便,之前如果我们要取主实体下所有的关联实体的记录都是通过Retrieve Multi ...

  6. 合成/聚合复用原则(CARP)

    组合/聚合复用原则(Composite/Aggregate Reuse Principle或CARP),就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新对象通过向这些对象的委派达到 ...

  7. JAVA面向对象-----super关键字

    JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量 ...

  8. Android必知必会-带列表的地图POI周边搜索

    如果移动端访问不佳,请尝试–> Github版 2016-08-22 更新 注意:在 Activity 代码中的onPoiSearched(PoiResult result, int rCode ...

  9. Android开发 无法导入ViewPagerIndicator或其他开源框架无法导入

    这个问题又花费了好长时间,其实就是很简单的问题,因为各种开源框架的库名称都叫liberary,如果上次导入其他开源框架没有更改名称的话,你再导入其他第三库的时候,系统发现重名,就提示无法导入现象. 解 ...

  10. PullToRefreshScrollView 嵌套RecyclerView实现特卖列表倒计时抢购

    不久之前,我们谈到了通过Handler与timer及TimerTask结合实现倒计时抢购列表,那个是PullToRefreshListView实现的,今天要讲的是PullToRefreshScroll ...