linux生产环境中替换jdk

声明一下,为了给大家演示以及对生产环境的保密,我在本地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)。。。。。。是不是很强大

时间: 2024-08-01 23:39:57

linux生产环境中替换jdk的相关文章

Linux生产环境中的分区方式

常规分区方案: /剩余硬盘大小 swap 1.5倍 /boot 100M-200M DB及存储:有大量重要的数据 /data/ 剩余硬盘大小,放数据 /50-200G swap 100M /boot 100M 门户大网站: /50-200G swap 1.5倍 /boot 100M 不在进行分区,保留,将来哪个 把分用,自己根据需求再分 对硬盘监控,剩余20%了,短信报警 LVN在线调整分区大小,生产DELL硬盘 RAID(磁盘冗余阵列),组合多块硬盘.而不是LVM以及软RAID.

.NET跨平台之旅:生产环境中第2个跑在Linux上的ASP.NET Core站点

今天我们在生产环境中上线了第2个跑在Linux上的ASP.NET Core站点.这是一个简单的Web API站点,通过命令行的方式调用安装在Linux服务器上的程序完成操作.之前用的是nodejs,现在换成了ASP.NET Core,主要代码如下: var psi = new ProcessStartInfo(command, arguments) { RedirectStandardOutput = true, RedirectStandardInput = true, CreateNoWin

.NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点

2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上用V2015开发的,以self-contained应用部署方式发布到Linux服务器.Linux服务器用的是Ubuntu 14.04,站点通过supervisor以服务方式运行,部署在2台阿里云服务器上,用了1台阿里云内网负载均衡. 虽然是很简单的站点,虽然是很小的一步,但是进入生产环境就意味着对性

JDK 9 发布仅数月,为何在生产环境中却频遭嫌弃?

千呼万唤始出来,在经历了整整一年的跳票之后,Java 9 终于在 9 月 21 日拨开云雾,露出真正的面目.对众多 Java 程序员来说,这一天无疑是一个重大的日子,首先 Java 开发者们再也不用羡慕别的自带 REPL 的语言了,不用为了试个 Java 功能而开个 Groovy shell:其次最主要的莫过于 Jigsaw 项目下颠覆性的 Java 模块化了,有了它,自己定制/裁剪 JDK 变得更直接. 其中,整个 Java 的核心内容非 JDK 莫属,其包括了 Java 运行环境(Java

生产环境中CentOS7部署NET Core应用程序

NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. 部署ASP.NET Core应用程序 配置Nginx 配置守护服务(Supervisor) 这段时间在使用Rabbit RPC重构公司的一套系统(微信相关),而最近相关检验(逻辑测试.压力测试)已经完成,接近部署至线上生产环境从而捣鼓了ASP.NET Core应用程序在CentOS上的部署方案,今天

理解Docker(6):若干企业生产环境中的容器网络方案

本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 (6)若干企业生产环境中的容器网络方案 Docker 在早期只有单机上的网络解决方案,在 1.19 版本引入了原生的 overlay 网络解决方案,但是它的性能损耗较大,可能无法适应一些生产环

生产环境中tomcat的配置

生产环境中要以daemon方式运行tomcat 通常在开发环境中,我们使用$CATALINA_HOME/bin/startup.sh来启动tomcat, 使用$CATALINA_HOME/bin/shutdown.sh来关闭tomcat. 而在生产环境中,我们要配置tomcat使其以daemon方式运行,这是因为: 以daemon运行不受终端影响,不会因为退出终端而停止运行 可以让tomcat以普通用户身份运行,可以让tomcat随linux启动而启动 如何将tomcat配置成守护进程 将tom

明白生产环境中的jvm参数

明白生产环境中的jvm参数 写代码的时候,程序写完了,发到线上去运行,跑一段时间后,程序变慢了,cpu负载高了--一堆问题出来了,所以了解一下生产环境的机器上的jvm配置是有必要的.比如说: JDK版本是多少?采用何种垃圾回收器? 程序启动的时候默认分配堆内存空间是多少?随着程序的运行,程序最多能使用多大的内存空间? 程序中使用了多少个线程?目前的java进程又处于何种状态? 了解了这些,会对程序的运行有一个更好的了解.本文结合生产实践,记录一下我常用的一些操作. 注意:如果没有特殊说明,下面所

生产环境中的PHP WEB 简单架构

使用三台虚拟机器, Ubuntu1(nginx) 192.168.226.128 Ubuntu2(php-fpm+memcached)192.168.226.132 CentOS(MySQL)192.169.226.130 PHP 框架使用CakePHP,这个是很常用的MVC 框架,基于事件的分发模型 当然需要注意的是框架代码要部署在php-fpm机器上,需要在nginx 中配置的配置如下 余下的内容: 1. CakePHP 框架代码 2. PHP 内核 3. Nginx内核 4. 数据库设计模