Linux管理日記(一)

做者: 鐵錨javascript

日期: 2013年12月23日css

1. 安裝 webminhtml

# 安裝 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中文.而後保存,刷新便可.
java


2. SSH Tunnel端口轉發,端口代理node

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

##### 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中文權威指南 linux

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

完整的命令以下所示:c++

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安裝,更新軟件了web

5. 使用 kill 殺死某些僵死的進程sql

# 查看含有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. 
相關文章
相關標籤/搜索