阿里云ECS服务器安装java环境相关软件

avatar
作者
筋斗云
阅读量:0

当前服务器版本为:Alibaba Cloud Linux 3.2104 LTS 64位

# lsb_release -a LSB Version:	:core-4.1-amd64:core-4.1-noarch Distributor ID:	AlibabaCloud Description:	Alibaba Cloud Linux release 3 (Soaring Falcon)  Release:	3 Codename:	SoaringFalcon  # cat /proc/version Linux version 5.10.134-16.1.al8.x86_64 (mockbuild@a12i03132.na61) (gcc (GCC) 10.2.1 20200825 (Alibaba 10.2.1-3.5 2.32), GNU ld version 2.35-12.2.al8) #1 SMP Thu Dec 7 14:11:24 UTC 2023 

前置步骤

先更新所有已安装的软件以及软件源中的软件包列表,不然可能安装比较老的包

yum -y update

一、安装Redis

查看下yum仓库里有哪些版本的Redis包

# yum search redis --showduplicates Last metadata expiration check: 0:28:18 ago on Mon 18 Mar 2024 10:04:01 PM CST. ============================== Name Exactly Matched: redis ============================== redis-6.2.7-1.0.2.al8.x86_64 : A persistent key-value database redis-6.0.5-1.9.al8.x86_64 : A persistent key-value database redis-6.0.5-1.10.al8.x86_64 : A persistent key-value database redis-6.0.5-1.11.al8.x86_64 : A persistent key-value database redis-6.0.9-5.0.1.al8.x86_64 : A persistent key-value database 

可以看到仓库里最新的版本是6.2.7,如果不指定版本默认就是安装最新版本

centos还可以使用这个命令查看yum list available redis

1、安装

yum install -y redis

2、安装完成后,执行以下命令来启动Redis服务:

systemctl start redis

3、设置Redis开机自启动

systemctl enable redis

4、安装和启动完成后,可以通过执行以下命令来验证Redis是否成功安装并运行

redis-cli ping
如果返回PONG,则说明Redis服务正在运行,且redis-cli(Redis命令行界面)已成功安装

# redis-cli ping PONG # redis-cli -v redis-cli 6.2.7 

yum安装的redis的配置文件在/etc/redis.conf。可以使用find / -name redis.conf来搜索

# find / -name redis.conf /etc/redis.conf 
附:卸载redis
1、停止正在运行的Redis服务

systemctl stop redis

2、禁用在系统启动时自动运行

systemctl disable redis

3、使用yum命令卸载Redis软件包

yum remove redis

二、安装nodejs

1、安装

yum install -y nodejs

2、安装完成后,运行以下命令来验证Node.js和npm是否已成功安装

node -v
npm -v
这些命令将分别输出Node.js和npm的版本号

# node -v v14.21.3 # npm -v 6.14.18 

三、安装nginx

先检查下是否已经安装了nginx,用下面的命令

a、which nginx命令

b、使用systemctl status nginx查看服务

c、使用ps -ef | grep nginx查看进程

#这是已经安装nginx # which nginx /usr/sbin/nginx # ps -ef | grep nginx root       48512       1  0 Mar15 ?        00:00:00 nginx: master process /usr/sbin/ngin nginx      48513   48512  0 Mar15 ?        00:00:00 nginx: worker process  
1、安装

yum install -y nginx

2、安装完成后,启动Nginx服务

systemctl start nginx

3、让Nginx在系统启动时自动运行

systemctl enable nginx
可以通过访问你的服务器的IP地址来验证Nginx是否正常运行

nginx安装后配置文件在/etc/nginx/nginx.conf

# nginx -version nginx version: nginx/1.20.1 

四、安装jdk

先检查一下是否已经安装了jdk

a、which java

b、yum list installed | grep java

c、java -version

d、rpm -qa | grep java

由于并不需要安装最新版本的jdk,所以要先查下仓库里有哪些版本的jdk
# yum search java | grep --color jdk .......... java-11-openjdk.x86_64 : OpenJDK 11 Runtime Environment java-11-openjdk-demo.x86_64 : OpenJDK 11 Demos java-11-openjdk-demo-fastdebug.x86_64 : OpenJDK 11 Demos optimised with full debugging on java-11-openjdk-demo-slowdebug.x86_64 : OpenJDK 11 Demos unoptimised with full debugging on java-11-openjdk-devel.x86_64 : OpenJDK 11 Development Environment .......... 

主要列出了3个版本1.8、11、17,但是会有很长很长的记录

要注意这两个包的区别

java-11-openjdk-devel.x86_64 如果需要编译则安装这个(有java和javac命令)

java-11-openjdk.x86_64 只包含运行所需要的环境(没有javac命令)

1、安装

yum install -y java-11-openjdk-devel.x86_64

yum install -y java-11-openjdk-devel.x86_64 Last metadata expiration check: 1:52:13 ago on Wed 20 Mar 2024 01:55:06 PM CST. Dependencies resolved. =========================================================================================  Package                   Arch   Version                          Repository       Size ========================================================================================= Installing:  java-11-openjdk-devel     x86_64 1:11.0.21.0.9-2.0.3.al8          alinux3-updates 3.4 M Installing dependencies:  ModemManager-glib         x86_64 1.20.2-1.al8                     alinux3-updates 336 k  adobe-source-code-pro-fonts                            noarch 2.030.1.050-12.al8.1             alinux3-updates 820 k  adwaita-cursor-theme      noarch 40.1.1-3.al8                     alinux3-updates 656 k  adwaita-icon-theme        noarch 40.1.1-3.al8                     alinux3-updates  11 M  alsa-lib                  x86_64 1.2.8-3.al8                      alinux3-updates 496 k  .....  .....  Transaction Summary ========================================================================================= Install  150 Packages  Total download size: 137 M Installed size: 511 M Downloading Packages: (1/150): jbigkit-libs-2.1-14.2.al8.x86_64.rpm            788 kB/s |  55 kB     00:00     (2/150): glib-networking-2.56.1-1.1.2.al8.x86_64.rpm     1.7 MB/s | 156 kB     00:00     (3/150): libXfixes-5.0.3-7.2.al8.x86_64.rpm              1.5 MB/s |  25 kB     00:00     (4/150): libXi-1.7.10-1.1.al8.x86_64.rpm                 2.9 MB/s |  49 kB     00:00     (5/150): lcms2-2.9-2.2.al8.x86_64.rpm                    2.9 MB/s | 165 kB     00:00     (6/150): libXinerama-1.1.4-1.2.al8.x86_64.rpm            979 kB/s |  16 kB     00:00  ..... Verifying        : webrtc-audio-processing-0.3.1-8.al8.x86_64                  147/150    Verifying        : xdg-desktop-portal-1.8.1-1.al8.x86_64                       148/150    Verifying        : xdg-desktop-portal-gtk-1.12.0-3.al8.x86_64                  149/150    Verifying        : xorg-x11-font-utils-1:7.5-41.0.2.al8.x86_64                 150/150  post-transaction-actions: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory   Installed:   ModemManager-glib-1.20.2-1.al8.x86_64                                                     abattis-cantarell-fonts-0.301-4.al8.noarch                                                adobe-source-code-pro-fonts-2.030.1.050-12.al8.1.noarch       .....   xml-common-0.6.3-50.1.al8.noarch                                                          xorg-x11-font-utils-1:7.5-41.0.2.al8.x86_64                                               xorg-x11-fonts-Type1-7.5-19.1.al8.noarch                                                 Complete! 
2、验证是否安装成功

java -version
javac -version
这些命令将分别输出java和javac的版本号

# java -version openjdk version "11.0.21" 2023-10-17 LTS OpenJDK Runtime Environment (Red_Hat-11.0.21.0.9-1) (build 11.0.21+9-LTS) OpenJDK 64-Bit Server VM (Red_Hat-11.0.21.0.9-1) (build 11.0.21+9-LTS, mixed mode, sharing) 
3、配置JAVA_HOME

不是必须的,根据需要和环境情况配置。

要配置环境变量就必须先知道 jdk的安装目录

可以使用which java命令找到它,
然后通过ls -l查看其链接或指向的目录来确定JDK的安装路径

# which java /usr/bin/java # ls -l /usr/bin/java lrwxrwxrwx 1 root root 22 Mar 16 11:36 /usr/bin/java -> /etc/alternatives/java # ls -l /etc/alternatives/java lrwxrwxrwx 1 root root 66 Mar 16 11:36 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.21.0.9-2.0.3.al8.x86_64/bin/java 

jdk实际安装目录是/usr/lib/jvm/(JDK通常会被安装到/usr/java/或/usr/lib/jvm/目录下

a、使用root权限编辑/etc/profile文件:
# vi /etc/profile 
b、在文件的末尾添加以下行来导出JAVA_HOME环境变量:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-2.0.3.al8.x86_64   export PATH=$PATH:$JAVA_HOME/bin 

$PATH:$JAVA_HOME/bin是指把$JAVA_HOME放到$PATH环境变量的后面

c、为了使更改立即生效,你可以运行以下命令:
# source /etc/profile 
附:卸载jdk

yum remove java-11-openjdk
这条命令会卸载 java-11-openjdk 软件包及其未被其他软件包依赖的组件。

# yum remove java-11-openjdk Dependencies resolved. =========================================================================================  Package                     Arch   Version                       Repository        Size ========================================================================================= Removing:  java-11-openjdk             x86_64 1:11.0.21.0.9-2.0.3.al8       @alinux3-updates 1.3 M Removing dependent packages:  java-11-openjdk-devel       x86_64 1:11.0.21.0.9-2.0.3.al8       @alinux3-updates 5.3 M Removing unused dependencies:  ModemManager-glib           x86_64 1.20.2-1.al8                  @alinux3-updates 1.5 M  abattis-cantarell-fonts     noarch 0.301-4.al8                   @alinux3-updates 705 k  adobe-source-code-pro-fonts noarch 2.030.1.050-12.al8.1          @alinux3-updates 1.8 M  adwaita-cursor-theme        noarch 40.1.1-3.al8                  @alinux3-updates  12 M  adwaita-icon-theme          noarch 40.1.1-3.al8                  @alinux3-updates  11 M  ......  ......  Transaction Summary ========================================================================================= Remove  150 Packages  Freed space: 511 M Is this ok [y/N]: y 

输入y后

Is this ok [y/N]: y Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction   Preparing        :                                                                 1/1    Running scriptlet: flatpak-1.10.7-1.al8.x86_64                                     1/1    Erasing          : flatpak-1.10.7-1.al8.x86_64                                   1/150    Running scriptlet: flatpak-1.10.7-1.al8.x86_64                                   1/150    Erasing          : librsvg2-2.50.7-1.0.2.al8.x86_64                              2/150    Erasing          : libappstream-glib-0.7.18-4.0.1.al8.x86_64                     3/150    Erasing          : java-11-openjdk-devel-1:11.0.21.0.9-2.0.3.al8.x86_64          4/150    Running scriptlet: java-11-openjdk-devel-1:11.0.21.0.9-2.0.3.al8.x86_64          4/150    ......   Verifying        : xorg-x11-font-utils-1:7.5-41.0.2.al8.x86_64                 149/150    Verifying        : xorg-x11-fonts-Type1-7.5-19.1.al8.noarch                    150/150   Removed:   ModemManager-glib-1.20.2-1.al8.x86_64                                                     abattis-cantarell-fonts-0.301-4.al8.noarch                                                adobe-source-code-pro-fonts-2.030.1.050-12.al8.1.noarch    ......   Complete! 

然后验证一下

# java -version -bash: /usr/bin/java: No such file or directory # cd /usr/lib/jvm -bash: cd: /usr/lib/jvm: No such file or directory 

可以看到连jdk安装目录都一并删除了

或者可以使用yum list installed | grep java命令来查找已安装的Java相关软件包

# yum list installed |grep java java-11-openjdk.x86_64                             1:11.0.21.0.9-2.0.3.al8             @alinux3-updates java-11-openjdk-headless.x86_64                    1:11.0.21.0.9-2.0.3.al8             @alinux3-updates javapackages-filesystem.noarch                     5.3.1-7.3.al8                       @alinux3-updates tzdata-java.noarch            

执行yum remove java-11-openjdk.x86_64,在卸载过程中,yum可能会询问你是否确定要删除该软件包及其依赖项。请仔细阅读提示,并确认是否要继续卸载。

五、自定义安装

如果仓库里没有我们想要的软件或者版本,这个时候就得换种方式了

1、安装jdk

i、先下载自己想要的openjdk

可以从清华大学这个镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/Adoptium/11/jdk/x64/

假设下载的是jdk-8u211-linux-x64.tar.gz,把它放到/usr/local目录下

ii、解压
tar -zxvf jdk-8u211-linux-x64.tar.gz 
iii、配置环境变量

为了让系统能够找到JDK,你需要配置环境变量。编辑/etc/profile文件,在末尾添加以下内容:

export JAVA_HOME=/path/to/your/jdk   export PATH=$JAVA_HOME/bin:$PATH 

请将/path/to/your/jdk替换为你解压JDK的实际路径。

iv、重新加载profile文件

为了让新的环境变量生效,你需要重新加载/etc/profile文件。使用以下命令

source /etc/profile 

检查是否安装成功:输入java -version命令,如果返回JDK的版本信息,说明安装成功。

2、在线安装高版本nodejs

现在nodejs在yum仓库里的最新版本是V14.21.3(有点低 _),而目前最新的版本已经是node-v20.11.1 LTS。假设想安装V16.x

i、添加NodeSource仓库

可以运行以下命令来添加NodeSource仓库

curl -sL https://rpm.nodesource.com/setup_16.x | bash - 

这个命令的意思是下载一个脚本,然后静默执行这个脚本,这个脚本会把nodejs的仓库配置为16版本

ii、安装刚刚配置的nodejs版本

安装的过程和之前yum安装无异

yum install -y nodejs 

3、离线安装任意版本nodejs

i、下载指定版本(node-v12.22.12-linux-x64.tar.gz)

可以从这个镜像站下载:https://registry.npmmirror.com/binary.html?path=node/

ii、把文件移动到/usr/local目录
iii、解压
tar -xzvf node-v12.22.12-linux-x64.tar.gz 

(如果是解压tar.xz,那么使用tar -xJvf node-xxx-x64.tar.xz)

iv、配置环境变量

通过编辑/etc/profile文件,添加Node.js的路径到环境变量中(在文件最后)。使用vi或你喜欢的文本编辑器打开该文件,并添加类似以下内容:

export PATH=/usr/local/node-v12.22.12-linux-x64/bin:$PATH 
v、让profile文件生效

通过运行source /etc/profile命令,使刚刚添加的环境变量立即生效。

vi、测试验证
node -v v12.22.12 npm -v 6.14.16 
附:第4步也可以使用软链接的方式

解压完成后,可能需要创建一个指向Node.js可执行文件的软链接,以便在全局范围内使用它。
这可以通过
ln -s /usr/local/node-vXX.XX.XX-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node-vXX.XX.XX-linux-x64/bin/npm /usr/local/bin/npm
(其中vXX.XX.XX应替换为你的Node.js版本号)这两个命令完成。[听说最后的node和npm可以省去]
ls -l 软链接 可以查看软链接的指向

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!