这篇文章主要介绍了Linux服务器管理日记,包含了日常管理的方方页面,持续更新中,需要的朋友可以参考下
1. 安装 webmin
rpm -U webmin-1.660-1.noarch.rpm
# 此时,可以通过: http://115.28.9.136:10000/ 进行访问,用户名,密码是root的.
2. SSH Tunnel端口转发,端口代理
### 1 先登录 115.28.9.136
ssh [email protected] -p 22
#通过 webmin 修改 ssh配置,并应用变更
# 实质是 /etc/ssh/sshd_config 文件
GatewayPorts yes
### 2 在 136 上登录 10.144.7.191
ssh [email protected] -p 22
### 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
# 此时,客户端通过 115.28.9.136:19122 登录,实际上登陆的就是 10.144.7.191:22 服务器了。
3. 安装squid代理
##### 2. 修改配置文件
#搜索”http_access deny all”改为”http_access allow all”
# ESC, /http_access 可以进行搜索
vim /etc/squid/squid.conf
# 执行以下修改
#http_access deny CONNECT !SSL_ports
http_access allow CONNECT !SSL_ports
#http_access deny all
http_access allow all
#coredump_dir /var/spool/squid
coredump_dir /usr/local/ieternal/squid_cache
##### 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
##### 4. 启动
#/usr/sbin/squid
service squid start
##### 5. 查看监听端口状态
netstat -ntl
4. 在内网机器上设置yum代理
#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
#在Linux的命令行底下,一般的程序都是使用http_proxy和ftp_proxy这两个环境变量来获得代理设置的。
#所以只要使用export http_proxy=10.144.7.195:3128就可以使用代理了。
#export http_proxy=10.144.7.195:3128
# 如果要设置系统级别的代理,使用如下语句:
#vim /etc/profile
#http_proxy="10.144.7.195:3128"
#export_http_proxy
完整的命令如下所示:
此时,可以使用yum安装,更新软件了
5. 使用 kill 杀死某些僵死的进程
# 杀死指定的进程
# xxx 是看到的进程号
kill -9 xxx
# 重新启动tomcat
# ... ...
其实从上面的信息提示可以知道,需要修改 /root/.ssh/known_hosts 。解决方式是将此IP对应的行删除即可。
操作方式是使用 vi 或者 vim 打开该文件,然后按ESC进入命令模式(如果按 a 或者 i 则进入编辑模式),并定位到需要删除的行,按 dd 即可删除一行。
7. 安装rzsz
在XShell或者其他ssh客户端工具中,可以使用 rz来选择文件上传,也可以用 sz 选择文件下载。所以是个很好用的工具。
安装很简单:
至于rz的操作,就更简单了,先 cd 到需要上传的路径,然后执行 rz 命令即可. 然后也是弹出对话框,选择文件上传。
8. 查看磁盘空间使用情况
9. 查看当前目录的空间大小
10. 安装JDK
11. 设置 wget 代理
# 下载文件
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz
# 解压文件
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
# 按需要编辑
vim /usr/local/tomcat/conf/server.xml
需要注意的是,默认是不能有汉字存在的,因为默认保存的是ANSI编码。
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
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"
/>
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
xmlValidation="false" xmlNamespaceAware="false">
FFMpeg 是一个集播放,采集输入源,解码,转码,影音服务器这些功能的强大开源类库。我们主要用于转码。
编译安装的方式,需要下载源码包,大体操作如下:
首先安装编译环境。
yum install -y automake autoconf libtool gcc gcc-c++
yum install make
下载所需文件 ffmpeg.tar
wget http://m.ieternal.com/upload/ffmpeg.tar
解压ffmpeg.tar
tar xvf ffmpeg.tar
切换到ffmpeg目录下,执行以下命令。
./configure --prefix=/usr -- disable-yasm
make
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。
另外一种是采用别人已经构建编译好的版本,如下所示:
# 创建目录并下载
mkdir /usr/local/ieternal/download
mkdir /usr/local/ffmpeg
cd /usr/local/ieternal/download
wget http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-01-02.tar.gz
mv /usr/local/ieternal/download/ffmpeg.static.64bit.2014-01-02.tar.gz /usr/local/ffmpeg/ffmpeg.tar.gz
cd /usr/local/ffmpeg
# md5校验
md5sum ffmpeg.tar.gz
# 解压到当前目录
tar zxf ffmpeg.tar.gz
# 设置 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
14. 启动内网端口转发
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 文件中:
如果不需要压缩,命令如下所示:
16. 解压文件
对应的目录如下:
17. NFS简单使用
# 创建测试目录
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客户端
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虚拟机复制以后,可能出现网卡信息加载不成功的问题;
此时,需要修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件的信息以避免冲突。方法如下:
# 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"
修改以后的信息类似如下所示,其中,我这里的虚拟机NAT对应的是 192.168.254.*网段,具体的网段信息可以看windows的 "VMware Network AdapterVMnet8" 这张网卡的信息,或者在cmd下输入 ipconfig 命令查看,而 192.168.254.2 是VMWARE的网关。自动NAT的地址。如果审不准请查看VMWARE的自动DHCP信息。
DNS1="192.168.254.2"
然后,重启网络即可。在我这里是测试ping www.baidu.com 是通的。
另外,针对安装VMWARE以后windows7的网络很慢的问题,可以在 控制面板 --> 网络连接 --> 本地连接 --> 属性 --> Internet4设置 --> 高级 --> IP设置 --> 默认网关 设置跃点数为 1 即可。
19. 安装rsync
服务器端:
# 安装
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的节,后面的客户端连接需要指明连到此节
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
指定用户与密码,此处显示了内容:
客户端:
# 2.启动rsync依赖服务
/etc/init.d/xinetd start
chkconfig xinetd on
# 3.客户端必须配置密码文件
touch /etc/rsync.pas
chmod 600 /etc/rsync.pas
vim /etc/rsync.pas
指定密码:
执行同步:
# 上传:
rsync -auzv --progress --delete --password-file=/etc/rsync.pas /usr/local/ieternal/upload/* [email protected]::upload
错误信息:
已查明是由于防火墙开启引起的,此时可以修改防火墙过滤规则,或者在客户端与服务器端停用防火墙:
20. IO监控工具
安装:
21. 安装memcached
如果没有gcc,需要安装:
安装依赖库 libevent::
下载 程序包, 参考地址是: http://memcached.org/
对下载包校验:
22. 使用 GPG 生成密钥对
# 查看帮助信息
gpg --help
# 生成密钥...
gpg --gen-key
23. Apache Bench基准测试
Apache Bench 简称 ab,是 Apache服务器附带的一款压力基准测试工具。使用方式:
详细的帮助信息如下所示:
24. 时间同步
同步时间可以使用 root 执行如下命令完成:
如果需要自动同步,可以采用crontab自动调度,每小时执行一次:
编辑 crontab: