Linux管理日记(一)

时间:2022-06-24 05:00:24

作者: 铁锚

日期: 2013年12月23日

1. 安装 webmin

# 安装 webmin
cd /usr/local/ieternal/
mkdir download
cd download

wget 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

rpm -U webmin-1.660-1.noarch.rpm

# 此时,可以通过: http://115.28.9.136:10000/ 进行访问,用户名,密码是root的.
# 如果要修改语言,请登录以后,选择

# Webmin --> Change Language and Theme,然后在右边进行选择,可以选择SImplexxx中文.然后保存,刷新即可.


2. SSH Tunnel端口转发,端口代理

################################################## SSH Tunnel; 经测试,已经打通############################################### 公网服务器外网IP: 115.28.9.136# 公网服务器内网IP: 10.144.7.195# 内网服务器内网IP: 10.144.7.191### 1 先登录 115.28.9.136ssh root@115.28.9.136 -p 22#通过 webmin 修改 ssh配置,并应用变更# 实质是 /etc/ssh/sshd_config 文件GatewayPorts yes### 2 在 136 上登录 10.144.7.191ssh root@10.144.7.191 -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代理

##### 1. 安装squidyum -y remove squidyum -y install squid##### 2. 修改配置文件#搜索”http_access deny all”改为”http_access allow all”# ESC, /http_access 可以进行搜索vim /etc/squid/squid.conf# 执行以下修改#http_access deny CONNECT !SSL_portshttp_access allow CONNECT !SSL_ports#http_access deny allhttp_access allow all#coredump_dir /var/spool/squidcoredump_dir /usr/local/ieternal/squid_cache##### 3. 设置缓存目录##### !!!必须修改该目录的所属用户及用户组mkdir /usr/local/ieternal/squid_cachechown squid:squid /usr/local/ieternal/squid_cachecd /usr/local/ieternal/squid_cache//usr/sbin/squid -k shutdown/usr/sbin/squid -z##### 4. 启动#/usr/sbin/squidservice squid start ##### 5. 查看监听端口状态netstat -ntl

一本很好的中文翻译书: 《Squid中文权威指南 

4. 在内网机器上设置yum代理

#### 在191上执行:设置代理#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

完整的命令如下所示:

cp /root/.bash_profile /root/.bash_profile_bak_1231echo 'http_proxy=10.144.7.195:3128' >> /root/.bash_profileecho 'export http_proxy' >> /root/.bash_profilesource /root/.bash_profileecho $http_proxy


此时,可以使用yum安装,更新软件了

5. 使用 kill 杀死某些僵死的进程

# 查看含有tomcat的进程ps -aux | grep tomcat# 杀死指定的进程# xxx 是看到的进程号kill -9 xxx# 重新启动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 is36: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:2RSA 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 -hFilesystem            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=14.5G./video_source270M./client8.5G./video23M./family14M./sid341M./repository20M./guide127M./style1.5G./photo2.0G./music3.0G./video_dest21G.21Gtotal
-c 是在最后做一个统计的信息, -h 是显示人工可读的统计信息,如270M, 4.5G,等。 最大深度设置为1. 更多选项可以使用 "man du" 来查看

-s 是只显示汇总信息(--summarize),

-h 是显示人类可读的信息(--human-readable)

所以只需要查看单个目录的大小事可以使用:

# du -sh /usr/local/ieternal/mysql_data28G/usr/local/ieternal/mysql_data

10. 安装JDK

# 查看可用列表yum list java*# 然后安装JDK7,openJDK6有bug,所以...yum install java-1.7.0-openjdk* -y

检查是否安装正确:

# java -versionjava 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 -versionjavac 1.7.0_45

11.  设置 wget 代理

wgetrc 的详细参考地址: http://www.gnu.org/software/wget/manual/html_node/Sample-Wgetrc.html

echo 'https_proxy=http://10.144.7.195:3128/' >> $HOME/.wgetrcecho 'http_proxy=http://10.144.7.195:3128/' >> $HOME/.wgetrcecho 'ftp_proxy=http://10.144.7.195:3128/' >> $HOME/.wgetrc
12. 安装 tomcat 

# 创建下载目录mkdir /usr/local/ieternal/download# 进入下载目录cd /usr/local/ieternal/download# 下载文件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

完整的一个示例如下: 其中配置了 2个主机域, 其中也包括默认域的配置,并将 根目录 与 upload 目录都映射到了自定义文件夹。

需要注意的是,默认是不能有汉字存在的,因为默认保存的是ANSI编码。

其中, useSendfile="false" 表示大于48KB的文件也进行压缩,否则默认 true 不会压缩大文件. 

参考: https://www.oschina.net/question/919487_237003

<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN">  <!--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" />  <!-- 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><!--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" URIEncoding="UTF-8"               redirectPort="8443" useSendfile="false"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" URIEncoding="UTF-8"/>    <Engine name="Catalina" defaultHost="www.renfufei.com">      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"             resourceName="UserDatabase"/>      <Host name="www.renfufei.com"  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></Server>

13.  安装FFMpeg转码程序

FFMpeg 是一个集播放,采集输入源,解码,转码,影音服务器这些功能的强大开源类库。我们主要用于转码。官网地址 百度搜索 FFMPEG即可: 

编译安装的方式,需要下载源码包,大体操作如下: 

#### Tran1 上首先安装编译环境。yum install -y automake autoconf libtool gcc gcc-c++   yum install make下载所需文件 ffmpeg.tarwget http://m.ieternal.com/upload/ffmpeg.tar解压ffmpeg.tartar 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。
另外一种是采用别人已经构建编译好的版本,如下所示:

##########Tran2.3.4上:#下载目录: http://ffmpeg.gusari.org/static/64bit/#01-02版本: d1062ad9c208267241b6dfac7fa4ea25 (md5)# 创建目录并下载mkdir /usr/local/ieternal/downloadmkdir /usr/local/ffmpegcd /usr/local/ieternal/downloadwget http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-01-02.tar.gzmv /usr/local/ieternal/download/ffmpeg.static.64bit.2014-01-02.tar.gz /usr/local/ffmpeg/ffmpeg.tar.gzcd /usr/local/ffmpeg# md5校验md5sum ffmpeg.tar.gz# 解压到当前目录tar zxf ffmpeg.tar.gz# 设置 Pathcp /root/.bash_profile /root/.bash_profile_bak_0102echo 'PATH=$PATH:/usr/local/ffmpeg' >> /root/.bash_profileecho 'export PATH' >> /root/.bash_profilesource /root/.bash_profileecho $PATH

14.