linux生产环境重新配置jdk会不会影响在运行的程序?

linux生产环境重新配置jdk会不会影响在运行的程序?,第1张

在Linux下有的时候需要重新配置jdk,因为环境变量是使用默认安装的jdk,这个默认安装的jdk不卸载掉,那么新配置的环境变量将不会生效。配置jdk环境变量的时候,里面配置的有问题,会导致基础命令不能使用。暂时恢复使用基础命令:export PATH=/bin:/usr/bin:$PATH然后检查修改刚配置的jdk环境变量,主要是看下各种符号。source /etc/profile 重新运行配置文件。当我们把服务器部署在Linux系统上后,将spring-boot上传到服务器上时,想要运行项目,就必须在Linux系统上安装并配置jdk。

Linux系统一切皆文件。 在Linux系统上安装jdk和windows相类似。如果系统已经装有jdk,想要更换版本,需要将原有的删除,需要执行rpm -e -nodeps [想要删除的程序名],删除过后,再执行java -version Windows环境配置需要在属性中找到高级系统设置,然后在环境变量中添加属性和值,Linux系统也是一样,Linux系统的系统设置在/etc/profile目录下,用vim /etc/profile进入到配置文件的vim编辑模式按住i回车进入insert模式,然后和windows设置PATH,JAVA_HOME.CLASSPATH,一样,只不过Linux系统中,可视化图标转变成了命令当我们再次输入java和javac的时候会出现以下配置信息,说明jdk安装并配置成功。Linux上配置环境变量按照影响的范围,可以分为root级别的,也就是所有的用户都会受到影响,另一种是用户级别的,这种只影响该用户的范围,不影响其他用户;

Linux配置环境变量的文件常用的有,root级别的有两个:/etc/profile,/root/.bash_profile;用户级别的有一个~/.bash_profile;这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。

因为生产服务器给了一个用户,所有的 *** 作都在这个用户的权限范围内,但是服务器的jdk和自己的应用服务使用的jdk版本不一致,但是如果修改服务器的jdk可能导致服务器上其他的应用不可用,所以配置用户级别的jdk是最好的方案,只影响本用户下的应用,不影响其他用户;

用户级别的jdk的好处就是,这台服务器上,如果多个用户,使用的jdk都不同,则每个用户都可以单独配置自己的jdk版本,相互不影响;在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种

常见的错误。在Linux服务器上,或者自己使用的Linux系统上,经常需要用到java运行环境,如果你是开发者,通常需要配置jdk,而如果你只是安装java来运行程序,那就只需要配置JRE。

所以,在Linux环境下,配置Java运行(开发)环境,就成了一个必须掌握的技能,但是可能配置好一次之后就不再会用到这个技能,通常过后就会忘掉了,所以,如果有一篇文章记录下来具体的配置步骤的话,后面即使忘记,回来再查看一下配置步骤,就会方便很多。

所以呢,就教一下大家如何安装配置Java运行环境。本文章教程以安装开源版Java 8为例,重点关注小白用户,对于开发者来说,相信这个技能都会,而且还有自己的理解和技巧,但是对于小白用户来说,配置Java环境真的没有那么容易。但是在安装配置Java之前,需要先给大家讲解一下什么是jvm,什么是JRE,什么是JDK。JVM是Java程序运行的虚拟机,普通用户无需关心它即可。

JRE是Java程序运行所需要的基础类库,如果你只是想运行Java编写的程序、软件的话,仅仅需要安装JRE就够了。

JDK是Java程序编写所需要的类库,开发者通过JDK来开发软件包,并编译程序,如果你是做开发,就需要用到JDK。Readhat系列:桌面版本Fedora,服务器版本CentOS,使用yum包管理工具。

Debian系列:主要系列有Debian、Ubuntu,他们都有各自的桌面版和服务器版,还有现在国产 *** 作系统做的比较好的深度系统Deepin,最近刚合作发行的统一 *** 作系统UOS。最常见使用apt-get/dpkg包管理方式,新一代包管理工具则是apt。

这两个发行系列的包管理方式基本类似。在Debian系列中,推荐使用apt包管理方式进行安装,在CentOS中,则就是大家最熟悉的yum了,当然也有最新一代的包管理工具dnf。从一开始接触Linux,就是Ubuntu桌面版开始的,熟悉了Ubuntu之后,觉得甚是好用,因此养成了我的习惯,再后来到接触到Debian 8/9,才知道,Ubuntu是Debian系列的一个分支,后来全面转向使用Debian

普通用户不需要自己配置JRE环境,使用包管理方式进行安装最为简单方便了。在Linux系统终端中,执行下面的命令安装即可使用javac Hello.java来编译我们写好的java代码,如果写得有问题,下面会有编译错误的提示信息出来的;如果写得没有问题,那么就编译成功,编译成功之后的目录为:

725c82171a20ade8278f2fe520311f58.png

看到存在Hello.class和Hello.java两个文件。

4、执行Hello.class

既然Hello.class都已经编译成功了,那么最后自然就是执行这个文件了,使用java Hello就可以了:

8ac0481d0563946576d7199f8bc5872c.png

打印出字符串"Hello",成功

后记

如果上面几步都OK并且成功看到结果,那么就充分证明了我们在Linux环境下成功部署了JDK1.7。

在成功部署JDK1.7的基础上,我们后面将进一步玩MemCache、Zookeeper、Hadoop等各种各样的分布式组件。

一、目录

1、工具

2、安装tcl

3、安装单机版redis

4、把redis设置为daemon进程,每次系统启动,redis进程一起启动

5、安装redis cluster

二、工具

2.1、tcl8.6.1-src.tar.gz

2.2、ruby-2.3.1.tar.gz

2.3、redis-4.1.1.gem

2.4、redis-3.2.8.tar.gz

2.5、openssl-1.0.2r.tar.gz

三、安装tcl(安装redis必须先要安装tcl)

3.1、把tcl8.6.1-src.tar.gz通过WinSCP上传到虚拟机中的/usr/local目录下

四、安装单机版redis

4.1、把redis-3.2.8.tar.gz通过WinSCP上传到虚拟机中的/usr/local目录下

4.2、依次运行如下命令:

tar -zxvf redis-3.2.8.tar.gz 解压文件

cd redis-3.2.8

make &&make test &&make install

五、把redis设置为daemon进程,每次系统启动,redis进程一起启动

5.1、将redis的utils目录下的redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号

5.2、修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)

protected-mode no 取消保护模式,保护模式只能127.0.0.1访问

daemonize yes 让redis以daemon进程运行

pidfile /var/run/redis_6379.pid 设置redis的pid文件位置

bind192.168.3.110

port6379设置redis的监听端口号

dir /var/redis/6379 设置持久化文件的存储位置

logfile /var/log/redis/6379.log设置日志文件位置

5.6、启动redis,依次执行:

cd /etc/init.d,

chmod 777 redis_6379,赋读写执行的权限(chmod -R 777 * 是递归把该目录下的所有文件和其子文件全部赋权限)

./redis_6379 start 启动

5.7、确认redis进程是否启动,ps -ef | grep redis

5.8、让redis跟随系统启动自动启动

5.9、重启系统,不手动启动redis,直接连接redis,可以连接上,表示配置成功

此时一个单机版的redis的生产环境已经搭建好了,每次服务器重启,redis都会自动的启动

六、安装redis cluster

(redis cluster集群,要求至少3个master,去组成一个高可用,健壮的分布式的集群,每个master都建议至少给一个slave,3个master,3个slave)

6.1、前提,我在其它机器上启动了六个redis(安装步骤都如下)

2.2、创建三个目录:

mkdir -p /etc/redis-cluster 存放集群配置信息,自动生成配置

mkdir -p /var/log/redis redis日志

mkdir -p /var/redis/7001 存放redis的rdb文件和aof文件

6.3、将redis的utils目录下的redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_7001,7001是我们希望这个redis实例监听的端口号,并修改redis_7001配置文件中的REDISPORT=7001

6.4、修改/etc/redis/7001.conf中的部分配置为生产环境

6.5、完成了一个redis环境的配置,依次再配置其余五个,分别为7002、7003、7004、7005、7006,每个启动脚本内,都修改对应的端口号

6.6、启动6个redis实例

6.7、创建集群(需要安装ruby、rubygems)

上述命令在部分机器上是可以直接运行完成,成功安装的,但在部分机器上运行第三条命令时会提示ruby版本太低、openssl找不到的问题,下面依次解决这两个问题:

6.8、再次运行gem install redis命令,报出两个错误

6.9、再次运行gem install redis命令,报出一个错误

6.10、再次运行gem install redis命令,报出一个错误

6.11、再次运行gem install redis命令

[root@ceshi01 local]# gem install redis

Successfully installed redis-4.1.1

Parsing documentation for redis-4.1.1

Done installing documentation for redis after 1 seconds

WARNING: Unable to pull data from ' https://rubygems.org/' : SSL_connect returned=1 errno=0 state=error: certificate verify failed ( https://api.rubygems.org/specs.4.8.gz )

1 gem installed

运行成功

此时Redis安装好,此三个工具也安装好了,这时我们来做一个Redis集群测试,在一台服务器中创建了6个Redis实例,开启6个Redis服务

redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006

[root@eshop-cache02 init.d]# redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006

此时一个redis集群环境就已经搭建好了,可以通过redis-trib.rb check 192.168.3.105:7003命令查看集群几点的信息

[root@eshop-cache02 init.d]# redis-trib.rb check 192.168.3.105:7004

redis cluster的优点:读写分离+高可用+多master

读写分离:每个master都有一个slave

高可用:master宕机,slave自动被切换过去

多master:横向扩容支持更大数据量

Linux各发行版本常用生产环境有以下版本:

redhat:RHEL 6.5

CentOS:5.6版本的

ubuntu:14.04LTSR

SUSE:10和11


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7503692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存