Linux管理日记(一)
作者: 铁锚
日期: 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管理日记(一)的更多相关文章
- Linux管理日记(二)
14 启动内网端口转发 ### 2. 查看IP以及网卡信息 # 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡 # 公网网卡, eth1 的地址 inet ...
- Linux管理日记(三)
23. 时间同步 同步时间可以使用 root 执行如下命令完成: rdate -s time.nist.gov 如果需要自动同步,可以采用crontab自动调度,每小时执行一次: 编辑 cronta ...
- Linux学习日记-使用EF6 Code First(四)
一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是 请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...
- linux管理面板
小编在这儿给大家介绍几款linux管理面板,希望感兴趣的童鞋可以去尝试下.个人觉得宝塔和appnode这两个面板不仅从功能和样式都还是做的比较好的,但是部分功能是收费的,但是webmin绝对是一款免费 ...
- linux 管理权限
linux 管理权限 linux 文件 权限 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- 2 root adm 4096 2013-08-07 11:03 ...
- Linux 管理环境变量的文件分为系统级和用户级别
Linux 管理环境变量的文件分为系统级和用户级别 管理环境变量的文件也分为系统级和用户级别: 1.系统级:/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于 ...
- Linux 学习日记 1
这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器 在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...
- linux学习日记之目录配制
linux目录管理遵循FHS标准,主要目标是希望让使用者可以了解已安装软件通常放置于哪个目录上,所以他们希望独立的软件开发商.操作系统制作者.以及想要维护系统的用户,都遵循FHS的标准.也就是说FHS ...
- linux学习日记之老男孩
2016年10月5日企业面试题:cp 命令复制文件是如果有覆盖可能的话如何去除确认步骤,如:将/mnt/text.txt 复制 到/temp/text.txt,去除覆盖确认命令.方法:1.加全路径的c ...
随机推荐
- VSCode 插件推荐
vscode-icons 用于项目中文件类型显示对应的图标,提高文件定位的效率. vscode-tslint 用于 TS 的规范检测 Path Intellisense 用于提示导入文件时候的路 ...
- Android Multimedia框架总结(二十五)MediaProjection实现手机截屏(无须root)
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53966818 前言:一年半多以前 ...
- 用Netty开发中间件:网络编程基础
用Netty开发中间件:网络编程基础 <Netty权威指南>在网上的评价不是很高,尤其是第一版,第二版能稍好些?入手后快速翻看了大半本,不免还是想对<Netty权威指南(第二版)&g ...
- 剑指Offer——常用SQL语句、存储过程和函数
剑指Offer--常用SQL语句.存储过程和函数 常用SQL语句 1.在MySQL数据库建立多对多的数据表关系 2.授权.取消授权 grant.revoke grant select, insert, ...
- 用Python最原始的函数模拟eval函数的浮点数运算功能(2)
这应该是我编程以来完成的难度最大的一个函数了.因为可能存在的情况非常多,需要设计合理的参数来控制解析流程.经验概要: 1.大胆假设一些子功能能够实现,看能否建立整个框架.如果在假设的基础上都无法建立, ...
- x264源代码简单分析:宏块分析(Analysis)部分-帧内宏块(Intra)
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- Nginx的负载均衡 - 加权轮询 (Weighted Round Robin) 下篇
Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd 上篇blog讲述了加权轮询算法的原理.以及负载均衡模块中使用的数据结构,接着我们来看看加权轮询算法的具 ...
- gitlab的搭建及问题的解决
gitlab则是类似于github的一个工具,github无法免费建立私有仓库,并且为了代码安全,于是在内网安装了一个自己实验室的一个git服务器,gitlab有很多依赖,而bitnami制作了一键安 ...
- 插件开发之360 DroidPlugin源码分析(五)Service预注册占坑
请尊重分享成果,转载请注明出处: http://blog.csdn.net/hejjunlin/article/details/52264977 在了解系统的activity,service,broa ...
- Spring MVC Junit4 单元测试 JunitTest
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/config/spring3/ap ...