常见问题及解决方案(服务器篇)

一、Linux配置Java环境变量:

一. 解压安装jdk

在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录,
执行命令

 ./jdk-6u14-linux-i586.bin

这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下。

二. 需要配置的环境变量

1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。
2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

三. 三种配置环境变量的方法

1. 修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
·用文本编辑器打开/etc/profile
·在profile文件末尾加入:

1 export JAVA_HOME=/usr/share/jdk1.6.0_14 
2 export PATH=$JAVA_HOME/bin:$PATH 
3 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

·重新登录
·注解
a. 你要将 /usr/share/jdk1.6.0_14改为你的jdk安装目录
b. linux下用冒号“:”来分隔路径
c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种
常见的错误。
d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。
e. export是把这三个变量导出为全局变量。
f. 大小写必须严格区分。

2. 修改.bash_profile文件

这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。
·用文本编辑器打开用户目录下的.bash_profile文件
·在.bash_profile文件末尾加入:

1 export JAVA_HOME=/usr/share/jdk1.6.0_14 
2 export PATH=$JAVA_HOME/bin:$PATH 
3 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

·重新登录

3. 直接在shell下设置变量
不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
只需在shell终端执行下列命令:

1 export JAVA_HOME=/usr/share/jdk1.6.0_14 
2 export PATH=$JAVA_HOME/bin:$PATH 
3 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

四. 测试jdk

1. 用文本编辑器新建一个Test.java文件,在其中输入以下代码并保存:

1 public class test { 
2 public static void main(String args[]) { 
3     System.out.println("A new jdk test !"); 
4     } 
5 } 

2. 编译:在shell终端执行命令 javac Test.java
3. 运行:在shell终端执行命令 java Test
当shell下出现“A new jdk test !”字样则jdk运行正常。

五. 卸载jdk

·找到jdk安装目录的_uninst子目录
·在shell终端执行命令./uninstall.sh即可卸载jdk。

 二、Linux系统下安装两个或多个tomcat

编辑环境变量:

vi /etc/profile

加入以下代码(tomcat路径要配置自己实际的tomcat安装目录)

 1 ##########first tomcat###########
 2 CATALINA_BASE=/usr/local/tomcat
 3 CATALINA_HOME=/usr/local/tomcat
 4 TOMCAT_HOME=/usr/local/tomcat
 5 export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
 6 ##########first tomcat############
 7 ##########second tomcat##########
 8 CATALINA_2_BASE=/usr/local/tomcat_2 #这个路径是你第二个tomcat的路径
 9 CATALINA_2_HOME=/usr/local/tomcat_2
10 TOMCAT_2_HOME=/usr/local/tomcat_2
11 export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
12 ##########second tomcat##########

保存退出。
再输入:

source /etc/profile

才能生效。
第一个tomcat,保持解压后的原状不用修改,
来到第二个tomcat的bin目录下
打开catalina.sh ,找到下面红字,

# OS specific support. $var _must_ be set to either true or false.

在下面增加如下代码

1 export CATALINA_BASE=$CATALINA_2_BASE
2 export CATALINA_HOME=$CATALINA_2_HOME

来到第二个tomcat的conf目录下
打开server.xml更改端口:
修改server.xml配置和第一个不同的启动、关闭监听端口。
修改后示例如下:

1  <Server port="9005" shutdown="SHUTDOWN">  端口:8005->9005
2 <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
3 <Connector port="9080" maxHttpHeaderSize="8192"  端口:8080->9080
4 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
5 enableLookups="false" redirectPort="8443" acceptCount="100"
6 connectionTimeout="20000" disableUploadTimeout="true" />
7 <!-- Define an AJP 1.3 Connector on port 8009 -->
8 <Connector port="9009" 端口:8009->9009
9 enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

分别进入两个tomcat的bin目录,启动tomcat--./startup.sh

然后访问http://localhost:8080 和 http://localhost:9080 都可以看到熟悉的tomcat欢迎界面。

三、Centos常用命令(不定时更新):

清空tomcat catalina.out日志文件

find /tomcat/logs/ -name 'catalina.out' | xargs truncate -s 0

将text.tar.gz 解压到 /home/app/test/ (绝对路径)下

tar -zxvf ./text.tar.gz -C /home/app/test/
rm 文件名 //删除文件
rm -rf //删除文件夹
mv oldname newname //修改文件名(文件夹名)

应用前加 ./ 直接运行

chmod 777 /home/software/jdk1.7.0_03/java;//备注:chmod是赋权限命令,777表示赋值所有权限对本用户,本组用户、其他用户。
$sudo apt-get install gnome //下载并安装gnome 
$sudo apt-get remove gnome-shell //移除gnome

.复制文件,只有源文件较目的文件的修改时间新时,才复制文件

cp -u -v file1 file2

.将文件file1复制成文件file2

cp file1 file2

.采用交互方式将文件file1复制成文件file2

cp -i file1 file2

.将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式

cp -f file1 file2

.将目录dir1复制成目录dir2

cp -R file1 file2

.同时将文件file1、file2、file3与目录dir1复制到dir2

cp -R file1 file2 file3 dir1 dir2

.复制时保留文件属性

cp -p a.txt tmp/

.复制时保留文件的目录结构

cp -P /var/tmp/a.txt ./temp/

.复制时产生备份文件

cp -b a.txt tmp/

.复制时产生备份文件,尾标 ~1~格式

cp -b -V t a.txt /tmp 

.指定备份文件尾标

cp -b -S _bak a.txt /tmp

top命令:查看内存情况
Top命令监控某个进程的资源占有情况 下面是各种内存: VIRT:virtual memory usage
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR:shared memory
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来DATA1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。

1 su -lc "vi hadoop-env.sh" //非权限用户操作非权限文件,提示输入密码

四、python linux安装步骤

1、首先确认环境

1 [root@localhost install]# pwd
2 /data/install
3 
4 [root@localhost install]# cat /etc/redhat-release 
5 CentOS release 6.3 (Final)
6 
7 [root@localhost install]# uname -a
8 Linux localhost 2.6.32-358.6.2.el6.x86_64 #1 SMP Thu May 16 20:59:36 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 

2、python x.x版本的下载和安装

1 [root@localhost install]# wget https://www.python.org/ftp/python/x.x.x/Python-x.x.x.tgz
2 [root@localhost install]# tar -zxf Python-x.x.x.tgz
3 [root@localhost install]# cd Python-x.x.x
1 # 在安装包中有一个README的文件,里面有写如何安装
2 [root@localhost Python-3.4.4]# ls
3 aclocal.m4 config.sub configure.ac Grammar install-sh LICENSE Makefile.pre.in Modules Parser PCbuild Python setup.py
4 config.guess configure Doc Include Lib Mac Misc Objects PC pyconfig.h.in README Tools
5 
6 [root@localhost Python-3.4.4]# ./configure
7 [root@localhost Python-3.4.4]# make
8 [root@localhost Python-3.4.4]# make install

3、测试

[root@localhost Python-3.4.4]# python3
Python 3.4.4 (default, Jun 27 2016, 07:47:54) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

 

posted @ 2018-04-23 19:34  老王和小杨  阅读(...)  评论(...编辑  收藏