文档章节

linux生产环境中替换jdk

电脑小童
 电脑小童
发布于 2015/11/02 12:55
字数 725
阅读 1261
收藏 8

声明一下,为了给大家演示以及对生产环境的保密,我在本地vm中搭建了跟生产环境一模一样的虚拟机来给大家操作,其中截图来自本地虚拟机。操作步骤严格按照生产环境替换来做。

首先,给大家介绍下生产环境的大体架构,前端采用nginx分发,后端两个tomcat处理请求应用服务器,这只是最基本也是最常见的负载均衡架构。

下面开始实际操作:(注:请使用root账户操作)

第一步:首先看一下系统的java版本。系统采用openJDK,并且为1.7.0_85版本

第二步:安装sunjdk

 1使用命令新建一个文件夹soft

2将sunjdk上传至soft目录

3使用tar命令解压文件

解压后,如图

4在/etc/profile添加环境变量

使用vi /etc/profile命令打开profile文件

并在底部填入如下内容

使用:source /etc/profile使之生效

至此sunjdk已经安装完成

第三步:使sunjdk生效

由于之前已经安装了openjdk的缘故,故做完第二步后系统默认的还是openjdk(无jdk系统做完第二步后jdk便可以使用)

我们使用java -version命令检查下

我们看到目前系统还是只认openjdk,下面我们来替换下

1、使用命令将java添加到bin

update-alternatives --install /usr/bin/java java /usr/local/soft/jdk1.7.0_79/bin/java 300

2、使用命令将javac添加到bin

update-alternatives --install /usr/bin/javac javac /usr/local/soft/jdk1.7.0_79/bin/javac 300

做完以上两个步骤后就可以选择jdk了

3、选择jdk.使用一下命令进行jdk版本的选择

update-alternatives --config java

选择相应的序号,回车就可以了。

4检查是否成功。我们再次利用java -version查看一下

ok,已经可以了。

然后我们在利用负载均衡,分别重启tomcat1,tomcat2就可以了。这样就可以做到不中断又可以更新jdk了


=======================我是分割线===========================

给大家补充个小知识

其实在配置完环境变量后(修改/etc/profile文件)

重启tomcat,tomcat就可以找到我们刚配置的sunjdk了。。。。。。

只是这时linux系统默认还是openjdk,如果单运行jar文件系统还是默认为openjdk。tomcat能找到sunjdk是跟它的加载机制有关

为了统一性,我还是建议大家统一进行第二步,将系统jdk替换为sunjdk.


update-alternatives --config java 命令还有个好处就是随时都可以切换jdk版本(不想用sunjdk还可以切换为原来的openjdk)。。。。。。是不是很强大




© 著作权归作者所有

共有 人打赏支持
电脑小童
粉丝 5
博文 4
码字总数 3866
作品 0
青岛
程序员
私信 提问
加载中

评论(1)

clannadyue
clannadyue
13
79.项目由高版本的jdk开发 如何降低为低版本

0.jdk(linux中安装) 0.1 上传jdk到Linux系统 0.2 解压 0.3 配置 jdk环境(核心) (1)进入到上一步解压的jdk位子 如下图 (2) 配置内容 JAVA_HOME=/usr/local/develop/jdk/jdk-9.0.1 CLA...

Lucky_Me
2018/01/03
0
0
OneinStack 1.1 发布,一键 PHP/JAVA 安装工具

这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用于CentOS 5~7(包括redhat)、Debia...

lj2007331
2015/12/02
4.3K
26
指定Tomcat使用的jdk版本而不依赖环境变量

面试时被大佬问到过如何解决jdk版本冲突的问题,当时凭借着IDE配置的经验蒙混过关, 今天遇到了这个问题着手解决了一下并记录下来以下: linux环境 假设jdk版本7,目录为/home/user1/jdk 进入...

休辞醉倒
2018/11/22
0
0
又一种JDK选择——Amazon Corretto

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/84256882 又一种JDK选择——Amazon Corretto 2018.11.19 版权声明:本文为博主...

chszs
2018/11/19
0
0
centos 7搭建jdk1.8环境教程

目录 概述 环境准备 安装jdk 环境变量配置 测试安装结果 概述 最近在尝试tar.gz方式安装jdk1.8时踩了一点点坑,在此记录一下最终的搭建方案 环境准备 全新最小化安装的centos 7.5 jdk1.8 安装...

java_龙
2018/09/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

容器服务

简介 容器服务提供高性能可伸缩的容器应用管理服务,支持用 Docker 和 Kubernetes 进行容器化应用的生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。 产品架构 容器服务...

狼王黄师傅
昨天
3
0
高性能应用缓存设计方案

为什么 不管是刻意或者偶尔看其他大神或者大师在讨论高性能架构时,自己都是认真的去看缓存是怎么用呢?认认真真的看完发现缓存这一块他们说的都是一个WebApp或者服务的缓存结构或者缓存实现...

呼呼南风
昨天
12
0
寻找一种易于理解的一致性算法(扩展版)

摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可...

Tiny熊
昨天
3
0
聊聊GarbageCollectionNotificationInfo

序 本文主要研究一下GarbageCollectionNotificationInfo CompositeData java.management/javax/management/openmbean/CompositeData.java public interface CompositeData { public Co......

go4it
昨天
3
0
阿里云ECS的1M带宽理解

本文就给大家科普下阿里云ECS的固定1M带宽的含义。 “下行带宽”和“上行带宽” 为了更好的理解,需要先给大家解释个词“下行带宽”和“上行带宽”: 下行带宽:粗略的解释就是下载数据的最大...

echojson
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部