作者: 铁锚

日期: 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.136

ssh root@115.28.9.136 -p 22

#通过 webmin 修改 ssh配置,并应用变更
# 实质是 /etc/ssh/sshd_config 文件
GatewayPorts yes

### 2 在 136 上登录 10.144.7.191

ssh 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. 安装squid
yum -y remove squid
yum -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_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

一本很好的中文翻译书: 《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_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

# 杀死指定的进程
# 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 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" 来查看

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

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

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

# du -sh /usr/local/ieternal/mysql_data
28G	/usr/local/ieternal/mysql_data

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 代理

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

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

# 下载文件
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.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。

另外一种是采用别人已经构建编译好的版本,如下所示:

#########
#Tran2.3.4上:
#下载目录: http://ffmpeg.gusari.org/static/64bit/
#01-02版本: d1062ad9c208267241b6dfac7fa4ea25 (md5)

# 创建目录并下载
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.

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

  1. Linux管理日记(二)

    14  启动内网端口转发 ### 2. 查看IP以及网卡信息 # 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡 # 公网网卡, eth1 的地址 inet ...

  2. Linux管理日记(三)

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

  3. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  4. linux管理面板

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

  5. linux 管理权限

    linux 管理权限 linux 文件 权限 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- 2 root adm 4096 2013-08-07 11:03 ...

  6. Linux 管理环境变量的文件分为系统级和用户级别

    Linux 管理环境变量的文件分为系统级和用户级别 管理环境变量的文件也分为系统级和用户级别: 1.系统级:/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于 ...

  7. Linux 学习日记 1

    这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器   在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...

  8. linux学习日记之目录配制

    linux目录管理遵循FHS标准,主要目标是希望让使用者可以了解已安装软件通常放置于哪个目录上,所以他们希望独立的软件开发商.操作系统制作者.以及想要维护系统的用户,都遵循FHS的标准.也就是说FHS ...

  9. linux学习日记之老男孩

    2016年10月5日企业面试题:cp 命令复制文件是如果有覆盖可能的话如何去除确认步骤,如:将/mnt/text.txt 复制 到/temp/text.txt,去除覆盖确认命令.方法:1.加全路径的c ...

随机推荐

  1. jQuery – AJAX load() 方法

    jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selector). ...

  2. 20160227.CCPP体系详解(0037天)

    程序片段(01):01.一对一模式.c+02.中介者模式.c+03.广播模式.c 内容概要:事件 ///01.一对一模式.c #include <stdio.h> #include < ...

  3. 短文本分析----基于python的TF-IDF特征词标签自动化提取

    绪论 最近做课题,需要分析短文本的标签,在短时间内学习了自然语言处理,社会标签推荐等非常时髦的技术.我们的需求非常类似于从大量短文本中获取关键词(融合社会标签和时间属性)进行用户画像.这一切的基础就是 ...

  4. 等价于n*n的矩阵,填写0,1,要求每行每列的都有偶数个1 (没有1也是偶数个),问有多少种方法。

    #define N 4 /* * 公式: * f(n) = 2^((n - 1) ^2) */ int calWays(int n) { int mutiNum = (n - 1) * (n - 1) ...

  5. Java中synchronized的使用实例

    一.使用场景 在负责后台开发的时候,很多时候都是提供接口给前端开发人员去调用,会遇到这样的场景: 需要提供一个领奖接口,每个用户名只能领取一次,我们可以将成功领取的用户在数据库用个标记保存起来.如果这 ...

  6. Win7下安装linux虚拟机

    关于如何在Win7下搭建linux学习环境,特在此分享下. 一.工具 1.VMware-workstation-full-9.0.0-812388.exe       下载地址:http://pan. ...

  7. ubuntu切换java版本

    众所周知,ubuntu经常需要安装不同的java版本,他们之间的切换就是一个很大的问题 1.Chose another Java loader: sudo update-alternatives -- ...

  8. [Python]多个装饰器合并

    django程序,需要写很多api,每个函数都需要几个装饰器,例如 @csrf_exempt @require_POST def foo(request): pass 既然那么多个方法都需要写2个装饰 ...

  9. JBOSS EAP 6 系列五 Managed domains 管理域最主要的功能是“统一部署,统一配置”

    摘要 本文首先介绍Managed Domain的概念,管理域最主要的功能是"统一部署,统一配置".接下来通过一个实例在"统一配置"部分实现一个双机配置起来的域, ...

  10. SSH框架实现仿淘宝购物demo

    还记得六月份实习的时候,曾经做过一个电商的项目,项目里面需要实现类似淘宝购物车的移动端的demo,随着项目的进行,再一次跟购物车碰面,但是今天呢,不是移动端的需求,如何使用SSH框架实现类似淘宝的购物 ...