一、安装jdk

1.查看Linux自带的JDK是否已安装

  1. java –version

如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk.

2.查看jdk信息

  1. rpm -qa|grep java

3.卸载OpenJDK,执行以下操作:

  1. rpm -e --nodeps tzdata-java-2012c-1.el6.noarch
  2. rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64

4.新建java安装目录

  1. mkdir /usr/java

5.将之前下载的jdk解压缩并安装

  1. tar -zxvf  jdk-7u71-linux-i586.tar.gz

6.在profile文件中加入java环境变量

  1. vi /etc/profile
  2. export JAVA_HOME=/usr/java/jdk1.7.0_71
  3. export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
  4. export PATH=$PATH:$JAVA_HOME/bin

7.使文件立即生效

  1. source /etc/profile     //或者reboot

8.检测是否安装成功

  1. java -version

二、安装Tomcat

1.将下载好的tomcat.tar.gz上传到/var/local下面(路径可以自己随便选),然后解压

  1. tar -zxvf  apache-tomcat-7.0.57.tar.gz

2.将上传的tomcat移到一个目录下并改名称

  1. mv apache-tomcat-7.0.57 /
  2. mv apache-tomcat-7.0.57 tomcat7

3.启动tomcat

  1. ./startup.sh

启动完直接访问tomcat默认地址

4.无法访问时,关闭防火墙

  1. service iptables stop

5.设置开机自启动

第一种方法:在/etc/rs.local下增加tomcat和java_home环境变量

  1. vi /etc/rs.local
  2. JAVA_HOME=/usr/java/jdk1.7.0_71
  3. export JAVA_HOME
  4. /tomcat7/bin/startup.sh

这里有点要说明,rc.local先于/etc/profile执行,所以会得不到JAVA环境变量,所以在startup.sh前加入代码JAVA_HOME

三、安装oracle

官方安装指南:https://docs.oracle.com/cd/E11882_01/install.112/e24323/toc.htm#i1011296

参考文章:http://blog.csdn.net/attagain/article/details/38331433

1、硬件要求(这个不是重点,看官网)

2、软件要求

2.1 查看依赖包

  1. rpm -q binutils compat-libcap1 compat-libstdc++-33-3.2.3 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat

除去官网上提到的这些包,安装时还会提示缺失以下几个包:

unixODBC-2.2.11

unixODBC-devel-2.2.11

elfutils-libelf-devel-0.97

pdksh-5.2.14

2.2 用yum方式安装所需的包

  1. yum -y install binutils compat-libcap1 compat-libstdc++-33-3.2.3 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat

2.3 安装libXp

这个Library,这个一定要安装,否则安装Oracle时会出现java Exception。

  1. yum -y install libXp

3、环境配置

3.1 关闭防火墙、禁用SELinux

  1. chkconfig iptables off
  1. # vi /etc/selinux/config
  2. SELINUX=disabled

然后重启。

3.2 修改机器名(一般默认相等)

这里/etc/sysconfig/network中的hostname要与/etc/hosts中的一致,如果一致就不用修改

3.3 建立用户和组

这里建立的用户名和组,在安装oracle的时候会直接帮你选择。否则安装时没有用户和组。

建立群组oinstall

  1. groupadd oinstall

建立群组dba

  1. groupadd dba

新增用户oracle并将其加入oinstall和dba群组

  1. useradd -g oinstall -G dba oracle

测试oracle账号是否建立完成

  1. id oracle

建立oracle的新密码

  1. passwd oracle

3.4 创建Oracle安装文件夹以及数据存放文件夹

  1. mkdir -p /opt/oracle/
  2. mkdir -p /opt/oracle/oraInventory
  3. chown -R oracle:oinstall /opt/oracle
  4. chmod -R 775 /opt/oracle

3.5 配置系统内核参数

  1. vi /etc/sysctl.conf

加入以下参数:

  1. fs.aio-max-nr = 1048576
  2. fs.file-max = 6815744
  3. kernel.shmmni = 4096
  4. kernel.sem = 250 32000 100 128
  5. net.ipv4.ip_local_port_range = 9000 65500
  6. net.core.rmem_default = 262144
  7. net.core.rmem_max = 4194304
  8. net.core.wmem_default = 262144
  9. net.core.wmem_max = 1048576

启用刚刚所做的变更

  1. # sysctl -p

3.6 修改进程数和最大会话数

编辑/etc/security/limits.conf

  1. vi /etc/security/limits.conf
  2. oracle  soft        nproc   2047
  3. oracle  hard        nproc   16384
  4. oracle  soft        nofile  1024
  5. oracle  hard        nofile  65536

3.7 设置关联信息,执行如下命令,修改关联文件/etc/pam.d/login

  1. vi /etc/pam.d/login

加入:

  1. session required /lib/security/pam_limits.so
  2. session required pam_limits.so

3.8 修改系统启动环境参数,执行如下命令,修改系统启动环境参数文件

  1. vi /etc/ profile

在pathmunge 后面加入:

  1. if [ $USER = "oracle" ]; then
  2. if [ $SHELL = "/bin/ksh" ]; then
  3. ulimit -p 16384
  4. ulimit -n 65536
  5. else
  6. ulimit -u 16384 -n 65536
  7. fi
  8. fi

3.9 切换用户,配置oracle用户环境变量

  1. vi .bash_profile
  2. ORACLE_BASE=/opt/oracle
  3. ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1/bin/  (不同版本的oracle安装目录可能不一样,这里是11.2.0)
  4. ORACLE_SID=SIMS(数据库实例,自己定义)
  5. LD_LIBRARY_PATH=$ORACLE_HOME/lib
  6. PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
  7. export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

//官网建议不设置安装文件夹即$ORACLE_HOME,但是我建议还是这里建立好,因为不建立好的话,后面的dbca、netca等命令都找不到



使设置生效

  1. source /home/oracle/.bash_profile

3.10 安装

将下载的oracle文件放到/opt/oracle下面

  1. su - oracle
  2. $ cd /opt/oracle
  3. $ unzip linux.11gR2_database_1of2.zip
  4. $ unzip linux.11gR2_database_2of2.zip

3.11 安装前解决中文乱码

echo $LANG 如果不是英文的话,暂时就设置如下

  1. export LANG=en_US

3.12 切换到图形界面安装

如果是远程的话,需要安装远程软件,不然无法进入图形化安装界面;

如果是直接在服务器上操作的话,就不需要了,所以说安装centos时,需要选择desktop安装

  1. cd /opt/oracle/databse
  2. $ ./runInstaller

图形界面安装过程可以参考:http://www.21ops.com/linux/7296.html/comment-page-1



注意几点:

第一步邮箱可以不写;安装方式我选的single database安装,只安装了软件体,没有建立数据库和监听,所以安装完需要创建数据库和配置监听。

这里就要注意一下了,我看网上很多的资料都是先创建数据库再配置监听,我不知道这是怎么弄的,但是我在实际操作的时候,

先创建数据库是没法创建的,一定要先配置监听!

4 安装完成后,oracle用户登录

4.1 配置监听:

  1. netca

一步步下一步就行

4.2 创建数据库:

  1. dbca

注意字符集那一块记得选中文

(如果ORACLE_HOME没有指定的话,就没法使用这些命令,所以可以先看下自己当前的ORACLE_HOME,即echo $ORACLE_HOME)

4.3 测试是否成功安装

查看监听状态:

  1. lsnrctl status

数据库连接:

  1. sqlplus / as sysdba
  2. conn system/123456@SIMS (这里我在创建数据库的时候将所有用户的密码都改成了123456)

到此,CentOS6 下Oracle 11 g数据库安装成功。

四、CentOS6启动ORACLE

1. 手动启动数据库

用Oracle用户登录

  1. $lsnrctl start
  2. $sqlplus / as sysdba
  3. sql>startup

然后就可以操作数据库了

2.自动启动数据库

2.1 root用户登录

修改oratab

  1. #vi /etc/oratab
  2. SIMS:/opt/oracle/product/11.2.0/dbhome_1:Y(N改为Y)
  3. Esc:wq!

保存

2.2 修改dbstart,dbshut

  1. #vi /opt/oracle/11.2.0/bin/dbstart
  2. ORACLE_HOME_LISTNER=$ORACLE_HOME(原来为$1)
  3. Esc:wq!
  1. #vi /opt/oracle/11.2.0/bin/dbshut
  2. ORACLE_HOME_LISTNER=$ORACLE_HOME(原来为$1)
  3. Esc:wq!

2.3 添加内容到 rc.local中

  1. #vi /etc/rc.d/rc.local

把下面内容加入到文件中

  1. su oracle -lc "/opt/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
  2. su oracle -lc "/opt/oracle/product/11.2.0/dbhome_1/bin/dbstart"
  3. Esc:wq!

大功告成!

五、其他

linux更新源

https://lug.ustc.edu.cn/wiki/mirrors/help/centos

1.以root身份进入yum源配置目录

su root

cd /etc/yum.repos.d/

2.备份系统自带的yum源

mv CentOS-Base.repo CentOS-Base.repo.bak

3.下载对应版本的科大yum源,放入放入/etc/yum.repos.d/

也可以wget http://centos.ustc.edu.cn/Centos-Base.repo  (不过这种方法个人感觉不好确定源版本)

4.更新完源之后,生成缓存,使操作立即生效

yum makecache

5.开始更新

yum update

安装中文输入法

1.以root身份安装

su root

yum install "@Chinese Support"

2.设置把刚刚安装的输入法添加到输入法列表中

点击system-->preferences-->Input Method。再点击“Enable input method feature”,勾选“启用输入法特性”,并选择"Use IBus(recommended)",点击“首选输入法”

点击 "Input Method Preferences" ,点击输入法选项卡,选择汉语,在列表中选择拼音(当然,你会其他的输入法也可以选择其他的),点击"add",将选中的输入法添加到输入法列表

3.reboot

finished! Have fun!

Java基础学习总结(52)——Liunx系统Centos上搭建Java开发环境的更多相关文章

  1. 在CentOS下搭建Android 开发环境

    在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...

  2. Windows系统上搭建Clickhouse开发环境

    Windows系统上搭建Clickhouse开发环境 总体思路 微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级.近年来VS Code越来越受欢 ...

  3. Java基础学习总结(27)——7 款开源 Java 反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

  4. CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK

    对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此 ...

  5. JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)

    1.throws和throw的区别 throws使用在函数外,是编译时的异常,throw使用在函数内,是运行时的异常 使用方法 public int method(int[] arr) throws ...

  6. JAVA基础学习之路(四)定义简单java类

    简单java类开发一般原则: 类名称必须有意义,再怎么说,要让人家看的明白吧 类之中所有属性必须使用private封装,并提供setter,getter方法 类之中可以有多个构造方法,但是必须保留有一 ...

  7. Java基础学习总结(89)——为什么单元测试应该我们开发人员来写

    软件测试是为了保证项目质量,单元测试可以快速执行测试回归测试,做好单元测试可以大大提升测试效率,项目开发真正达到敏捷效果. 单元测试做什么? 1. 核心类方法 2. 异常处理 3. 边界值测试 4. ...

  8. [maven学习笔记]第一节,认识maven,搭建maven开发环境,写第一个HelloWorld

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40142771 maven官网:http://maven.apache.org/ 学习视 ...

  9. 在CentOS上搭建PHP服务器环境(可用)

    原文:https://www.cnblogs.com/zy2009/p/7047828.html 1,先安装apache: yum install httpd 配置ServerName vi /etc ...

随机推荐

  1. python requests请求卡住问题

    最近经常接到别人反馈某个爬虫工具程序没有正常运行,需要下载的资讯数据也没有及时进行收录. 刚开始以为可能是机器的问题,偶尔机器会出现程序运行中途卡住的情况. 但随着异常的情况越来越频繁,我便只好去排查 ...

  2. js中迭代的常用几种方法

    var arr = [1,3,2,5,3]; //forEach 两个参数,第一个为数组内容,第二个为数组下标arr.forEach(function(item,index) { console.lo ...

  3. 详解如何在vue项目中引入饿了么elementUI组件

    在开发的过程之中,我们也经常会使用到很多组件库:vue 常用ui组件库:https://blog.csdn.net/qq_36538012/article/details/82146649 今天具体说 ...

  4. 关于TabLayout+ViewPager组合实现多页面滑动

    转载请注明出处:http://blog.csdn.net/ht_android/article/details/46647711 在android提供的design library中新增了一个控件,叫 ...

  5. 【Android界面实现】使用GestureOverlayView控件实现手势识别

    在Android开发中,我们不光能够使用已有的实现方式.并且,我们还能够利用Android这个智能手机平台.实现一些比較有特色的功能. 本篇文章介绍使用GestureOverlayView这个控件.实 ...

  6. jquery源码09 (6058 , 6620) css() : 样式的操作

    var curCSS, iframe, // swappable if display is none or starts with table except "table", & ...

  7. ErrorSet

    1.获取路径的失误: 例子是对一个列表项的悬浮操作: ~(function() { var lists = $(".footer_log>li"); lists.each(f ...

  8. LuoguP3356 火星探险问题(费用流)

    题目描述 火星探险队的登陆舱将在火星表面着陆,登陆舱内有多部障碍物探测车.登陆舱着陆后,探测车将离开登陆舱向先期到达的传送器方向移动.探测车在移动中还必须采集岩石标本.每一块岩石标本由最先遇到它的探测 ...

  9. Day 3 EX 购物车自写

    # -*- coding: utf_8 _*_# Author:Vi import copygoods = [0,[1,'iphone',20],[2,'ipad',2500]]salary = in ...

  10. iOS 创建静态库文件时去掉当中的Symbols

    在project中创建静态库文件时.默认会将一些Symbols加到静态库文件里.这样做有两个缺点: 1.假设引用静态库文件的project中发生了bug.就会直接跳转到静态库的源代码. 也许有人问:静 ...