作者: 铁锚

日期: 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. Go 语言Map(集合)

    Map 是一种无序的键值对的集合.Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值. Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它.不过,Map 是无 ...

  2. Errors occurred during the build. Errors running builder 'JavaScript Validator' on project '项目名'.

    把JavaScript Validator去掉.去掉的方法是:选择一个项目--右键Properties--Builders(排第二)--点一下右侧会有四项--取消第一项"JavaScript ...

  3. Linux下端口复用(SO_REUSEADDR与SO_REUSEPORT)

    freebsd与linux下bind系统调用小结:    只考虑AF_INET的情况(同一端口指ip地址与端口号都相同) freebsd支持SO_REUSEPORT和SO_REUSEADDR选项,而l ...

  4. ELK平台的搭建

    ELK是指Elasticsearch + Logstash + Kibaba三个组件的组合.本文讲解一个基于日志文件的ELK平台的搭建过程,有关ELK的原理以及更多其他信息,会在接下来的文章中继续研究 ...

  5. Android Stutio中使用java8的Lambda表达式

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51532028 本文出自:[openXu的博客] 目录: 为什么要使用Lambda表达式 让A ...

  6. React Native之ViewPagerAndroid 组件

    概述 今天我们来讲解一下关于 ViewPager 的使用,它是一个允许子视图左右滚动翻页的容器.我们知道在Android开发中系统有ViewPager这个组件,作用是实现滚动翻页的,在RN中也是有这么 ...

  7. 生活沉思录 via 哲理小故事

    本文转载:http://www.cnblogs.com/willick/p/3174803.html 1.小托蒂的悲剧 意大利小男孩托蒂,有一只十分奇怪的眼睛,因为从生理上看,这是一只完全正常的眼睛, ...

  8. FFmpeg的HEVC解码器源代码简单分析:解析器(Parser)部分

    ===================================================== HEVC源代码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpe ...

  9. 有奖试读—Windows PowerShell实战指南(第2版)

    为什么要学PowerShell? Windows用户都已习惯于使用图形化界面去完成工作,因为GUI总能轻易地实现很多功能,并且不需要记住很多命令.使得短时间学会一种工具成为可能. 但是不幸的是,GUI ...

  10. Struts 2 之 OGNL

    OGNL概述 Object-Graph Navigation Language,对象图导航语言 1.能够访问对象的方法,如list.size() 2.能够访问静态属性与静态方法,需要在类名前加上@,如 ...