zoukankan      html  css  js  c++  java
  • 常见问题及解决方案(服务器篇)

    一、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.
    >>>
  • 相关阅读:
    request.getParameter() 、 request.getInputStream()和request.getReader() 使用体会
    HTTP之Content-Length
    关于spring3中No Session found for current thread!and Transaction的配置和管理(转)
    Java数据类型和MySql数据类型对应一览
    Spring MVC 解读——View,ViewResolver(转)
    LeetCode 441. Arranging Coins
    LeetCode 415. Add Strings
    LeetCode 400. Nth Digit
    LeetCode 367. Valid Perfect Square
    LeetCode 326. Power of Three
  • 原文地址:https://www.cnblogs.com/laowangc/p/8921281.html
Copyright © 2011-2022 走看看