Java基础学习总结(52)——Liunx系统Centos上搭建Java开发环境
一、安装jdk
1.查看Linux自带的JDK是否已安装
- java –version
如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk.
2.查看jdk信息
- rpm -qa|grep java
3.卸载OpenJDK,执行以下操作:
- rpm -e --nodeps tzdata-java-2012c-1.el6.noarch
- rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64
4.新建java安装目录
- mkdir /usr/java
5.将之前下载的jdk解压缩并安装
- tar -zxvf jdk-7u71-linux-i586.tar.gz
6.在profile文件中加入java环境变量
- vi /etc/profile
- export JAVA_HOME=/usr/java/jdk1.7.0_71
- export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
- export PATH=$PATH:$JAVA_HOME/bin
7.使文件立即生效
- source /etc/profile //或者reboot
8.检测是否安装成功
- java -version
二、安装Tomcat
1.将下载好的tomcat.tar.gz上传到/var/local下面(路径可以自己随便选),然后解压
- tar -zxvf apache-tomcat-7.0.57.tar.gz
2.将上传的tomcat移到一个目录下并改名称
- mv apache-tomcat-7.0.57 /
- mv apache-tomcat-7.0.57 tomcat7
3.启动tomcat
- ./startup.sh
启动完直接访问tomcat默认地址
4.无法访问时,关闭防火墙
- service iptables stop
5.设置开机自启动
第一种方法:在/etc/rs.local下增加tomcat和java_home环境变量
- vi /etc/rs.local
- JAVA_HOME=/usr/java/jdk1.7.0_71
- export JAVA_HOME
- /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 查看依赖包
- 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方式安装所需的包
- 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。
- yum -y install libXp
3、环境配置
3.1 关闭防火墙、禁用SELinux
- chkconfig iptables off
- # vi /etc/selinux/config
- SELINUX=disabled
然后重启。
3.2 修改机器名(一般默认相等)
这里/etc/sysconfig/network中的hostname要与/etc/hosts中的一致,如果一致就不用修改
3.3 建立用户和组
这里建立的用户名和组,在安装oracle的时候会直接帮你选择。否则安装时没有用户和组。
建立群组oinstall
- groupadd oinstall
建立群组dba
- groupadd dba
新增用户oracle并将其加入oinstall和dba群组
- useradd -g oinstall -G dba oracle
测试oracle账号是否建立完成
- id oracle
建立oracle的新密码
- passwd oracle
3.4 创建Oracle安装文件夹以及数据存放文件夹
- mkdir -p /opt/oracle/
- mkdir -p /opt/oracle/oraInventory
- chown -R oracle:oinstall /opt/oracle
- chmod -R 775 /opt/oracle
3.5 配置系统内核参数
- vi /etc/sysctl.conf
加入以下参数:
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- kernel.shmmni = 4096
- kernel.sem = 250 32000 100 128
- net.ipv4.ip_local_port_range = 9000 65500
- net.core.rmem_default = 262144
- net.core.rmem_max = 4194304
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048576
启用刚刚所做的变更
- # sysctl -p
3.6 修改进程数和最大会话数
编辑/etc/security/limits.conf
- vi /etc/security/limits.conf
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
3.7 设置关联信息,执行如下命令,修改关联文件/etc/pam.d/login
- vi /etc/pam.d/login
加入:
- session required /lib/security/pam_limits.so
- session required pam_limits.so
3.8 修改系统启动环境参数,执行如下命令,修改系统启动环境参数文件
- vi /etc/ profile
在pathmunge 后面加入:
- if [ $USER = "oracle" ]; then
- if [ $SHELL = "/bin/ksh" ]; then
- ulimit -p 16384
- ulimit -n 65536
- else
- ulimit -u 16384 -n 65536
- fi
- fi
3.9 切换用户,配置oracle用户环境变量
- vi .bash_profile
- ORACLE_BASE=/opt/oracle
- ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1/bin/ (不同版本的oracle安装目录可能不一样,这里是11.2.0)
- ORACLE_SID=SIMS(数据库实例,自己定义)
- LD_LIBRARY_PATH=$ORACLE_HOME/lib
- PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
- export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
//官网建议不设置安装文件夹即$ORACLE_HOME,但是我建议还是这里建立好,因为不建立好的话,后面的dbca、netca等命令都找不到
使设置生效
- source /home/oracle/.bash_profile
3.10 安装
将下载的oracle文件放到/opt/oracle下面
- su - oracle
- $ cd /opt/oracle
- $ unzip linux.11gR2_database_1of2.zip
- $ unzip linux.11gR2_database_2of2.zip
3.11 安装前解决中文乱码
echo $LANG 如果不是英文的话,暂时就设置如下
- export LANG=en_US
3.12 切换到图形界面安装
如果是远程的话,需要安装远程软件,不然无法进入图形化安装界面;
如果是直接在服务器上操作的话,就不需要了,所以说安装centos时,需要选择desktop安装
- cd /opt/oracle/databse
- $ ./runInstaller
图形界面安装过程可以参考:http://www.21ops.com/linux/7296.html/comment-page-1
注意几点:
第一步邮箱可以不写;安装方式我选的single database安装,只安装了软件体,没有建立数据库和监听,所以安装完需要创建数据库和配置监听。
这里就要注意一下了,我看网上很多的资料都是先创建数据库再配置监听,我不知道这是怎么弄的,但是我在实际操作的时候,
先创建数据库是没法创建的,一定要先配置监听!
4 安装完成后,oracle用户登录
4.1 配置监听:
- netca
一步步下一步就行
4.2 创建数据库:
- dbca
注意字符集那一块记得选中文
(如果ORACLE_HOME没有指定的话,就没法使用这些命令,所以可以先看下自己当前的ORACLE_HOME,即echo $ORACLE_HOME)
4.3 测试是否成功安装
查看监听状态:
- lsnrctl status
数据库连接:
- sqlplus / as sysdba
- conn system/123456@SIMS (这里我在创建数据库的时候将所有用户的密码都改成了123456)
到此,CentOS6 下Oracle 11 g数据库安装成功。
四、CentOS6启动ORACLE
1. 手动启动数据库
用Oracle用户登录
- $lsnrctl start
- $sqlplus / as sysdba
- sql>startup
然后就可以操作数据库了
2.自动启动数据库
2.1 root用户登录
修改oratab
- #vi /etc/oratab
- SIMS:/opt/oracle/product/11.2.0/dbhome_1:Y(N改为Y)
- Esc:wq!
保存
2.2 修改dbstart,dbshut
- #vi /opt/oracle/11.2.0/bin/dbstart
- ORACLE_HOME_LISTNER=$ORACLE_HOME(原来为$1)
- Esc:wq!
- #vi /opt/oracle/11.2.0/bin/dbshut
- ORACLE_HOME_LISTNER=$ORACLE_HOME(原来为$1)
- Esc:wq!
2.3 添加内容到 rc.local中
- #vi /etc/rc.d/rc.local
把下面内容加入到文件中
- su oracle -lc "/opt/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
- su oracle -lc "/opt/oracle/product/11.2.0/dbhome_1/bin/dbstart"
- 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开发环境的更多相关文章
- 在CentOS下搭建Android 开发环境
在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...
- Windows系统上搭建Clickhouse开发环境
Windows系统上搭建Clickhouse开发环境 总体思路 微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级.近年来VS Code越来越受欢 ...
- Java基础学习总结(27)——7 款开源 Java 反编译工具
今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...
- CentOS上搭建java WEB开发环境Tomcat+MySQL+JDK
对于初学者来说,想在linux系统上搭建一个java web服务器,不知道什么方案可行, 这篇文章主要是告诉这些基础和概念相对薄弱的同学,这样搭建是可行的,大体上没问 题的,出问题也是细节问题.所以此 ...
- JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)
1.throws和throw的区别 throws使用在函数外,是编译时的异常,throw使用在函数内,是运行时的异常 使用方法 public int method(int[] arr) throws ...
- JAVA基础学习之路(四)定义简单java类
简单java类开发一般原则: 类名称必须有意义,再怎么说,要让人家看的明白吧 类之中所有属性必须使用private封装,并提供setter,getter方法 类之中可以有多个构造方法,但是必须保留有一 ...
- Java基础学习总结(89)——为什么单元测试应该我们开发人员来写
软件测试是为了保证项目质量,单元测试可以快速执行测试回归测试,做好单元测试可以大大提升测试效率,项目开发真正达到敏捷效果. 单元测试做什么? 1. 核心类方法 2. 异常处理 3. 边界值测试 4. ...
- [maven学习笔记]第一节,认识maven,搭建maven开发环境,写第一个HelloWorld
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40142771 maven官网:http://maven.apache.org/ 学习视 ...
- 在CentOS上搭建PHP服务器环境(可用)
原文:https://www.cnblogs.com/zy2009/p/7047828.html 1,先安装apache: yum install httpd 配置ServerName vi /etc ...
随机推荐
- python requests请求卡住问题
最近经常接到别人反馈某个爬虫工具程序没有正常运行,需要下载的资讯数据也没有及时进行收录. 刚开始以为可能是机器的问题,偶尔机器会出现程序运行中途卡住的情况. 但随着异常的情况越来越频繁,我便只好去排查 ...
- js中迭代的常用几种方法
var arr = [1,3,2,5,3]; //forEach 两个参数,第一个为数组内容,第二个为数组下标arr.forEach(function(item,index) { console.lo ...
- 详解如何在vue项目中引入饿了么elementUI组件
在开发的过程之中,我们也经常会使用到很多组件库:vue 常用ui组件库:https://blog.csdn.net/qq_36538012/article/details/82146649 今天具体说 ...
- 关于TabLayout+ViewPager组合实现多页面滑动
转载请注明出处:http://blog.csdn.net/ht_android/article/details/46647711 在android提供的design library中新增了一个控件,叫 ...
- 【Android界面实现】使用GestureOverlayView控件实现手势识别
在Android开发中,我们不光能够使用已有的实现方式.并且,我们还能够利用Android这个智能手机平台.实现一些比較有特色的功能. 本篇文章介绍使用GestureOverlayView这个控件.实 ...
- jquery源码09 (6058 , 6620) css() : 样式的操作
var curCSS, iframe, // swappable if display is none or starts with table except "table", & ...
- ErrorSet
1.获取路径的失误: 例子是对一个列表项的悬浮操作: ~(function() { var lists = $(".footer_log>li"); lists.each(f ...
- LuoguP3356 火星探险问题(费用流)
题目描述 火星探险队的登陆舱将在火星表面着陆,登陆舱内有多部障碍物探测车.登陆舱着陆后,探测车将离开登陆舱向先期到达的传送器方向移动.探测车在移动中还必须采集岩石标本.每一块岩石标本由最先遇到它的探测 ...
- Day 3 EX 购物车自写
# -*- coding: utf_8 _*_# Author:Vi import copygoods = [0,[1,'iphone',20],[2,'ipad',2500]]salary = in ...
- iOS 创建静态库文件时去掉当中的Symbols
在project中创建静态库文件时.默认会将一些Symbols加到静态库文件里.这样做有两个缺点: 1.假设引用静态库文件的project中发生了bug.就会直接跳转到静态库的源代码. 也许有人问:静 ...