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


    一、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.
    >>>
  • 相关阅读:
    Nginx 的 server_names_hash_bucket_size 问题
    Linux 查看CPU信息、机器型号等硬件信息
    JS中的prototype[转载]
    memcache适用和不适用场景[转载]
    php的socket通信【转载】
    fastcgi与cgi的区别[转载]
    PHP类和对象
    SVN的配置和使用
    PHP_pear的安装和使用
    [转]Python tips: 什么是*args和**kwargs?
  • 原文地址:https://www.cnblogs.com/laowangc/p/8921281.html
Copyright © 2020-2023  润新知