作者: 铁锚

日期: 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. Docker常见仓库WordPress

    WordPress 基本信息 WordPress 是开源的 Blog 和内容管理系统框架,它基于 PhP 和 MySQL. 该仓库提供了 WordPress 4.0 版本的镜像. 使用方法 启动容器需 ...

  2. Java中使用long类型实现精确的四则运算

    引子 Effective Java 2nd Edition 第48条建议:如果需要精确的答案,请避免使用float和doble.float和double类型主要是为了科学计算和工程计算而设计的.他们执 ...

  3. Zookeeper核心工作机制(zookeeper特性、zookeeper数据结构、节点类型)

    10.1 zookeeper特性 1.Zookeeper:一个leader,多个follower组成的集群. 2.全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个ser ...

  4. django+uwsgi+nginx+postgresql备忘

    安装pg创建数据库xxx设置用户密码111111 apt-get install postgresql su - postgres psql create database xxx; alter us ...

  5. 用Netty开发中间件:网络编程基础

    用Netty开发中间件:网络编程基础 <Netty权威指南>在网上的评价不是很高,尤其是第一版,第二版能稍好些?入手后快速翻看了大半本,不免还是想对<Netty权威指南(第二版)&g ...

  6. 优化Javascript数据遍历

    问题 M是一个对象的集合,没个对象拥有唯一的字符串类型的Id N是Id的集合. 从M中过滤掉Id不在N中的对象. 假如M有50w个数据,N中可能是0~50w任意的数据. 方案1 使用数组保存Id的集合 ...

  7. 在 Mac OS X 10.10 安装 pyenv 的一个小坑

    小记一下. 因为全面转向 Python 3.4 作为主力开发版本,但是手上的 Mac OS X 和服务器上用的都是 Python 2.7,所以需要安装 pyenv. 按其 github 页面的说明,使 ...

  8. JVM基础知识GC

    在网上看到一篇很不错的讲解JVM GC的文章,看完之后觉得可以留着以后多看几遍便转载了下来.但是找了半天也没有找到原作者地址.抱歉不能标明原文地址了.以下是文章内容. 几年前写过一篇关于JVM调优的文 ...

  9. Cocos2D:变换(transforms)在图形编程中扮演的角色

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...

  10. 在Linux环境下实现一个非常好的bash脚本框架

    为了方便我日常工作中的编译环境,免去我敲命令行所浪费的时间,我个人写了一个非常有用而又简单的脚本框架,该框架即可以完成的工程源码编译,也可以清除,拷贝等等操作,具体需要开发者自己来实现细节,我的框架思 ...