Linux centos7.0搭建Java开发环境(保姆级教程)

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: Linux centos7.0搭建Java开发环境(保姆级教程),包括JDK,Tomact,mysql的安装与部署和jar与war二种方式的项目创建与部署。

个人推荐:

📢📢📢 前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下 "通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 点击跳转到教程

在这里插入图片描述

1.JDK的安装与配置

(1) 检测当前系统是否安装JDK

  • 使用 java -version 查看当前系统是否安装JDK(如下信息表示未安装)

在这里插入图片描述

注意:有的系统会默认安装OpenJDK,所以如果已经默认安装OpenJDK需要卸载:

出现如下信息表示系统默认安装了openJDK:

1 [root@localhost ~]# java -version
2 openjdk version "1.8.0_242"
3 OpenJDK Runtime Environment (build 1.8.0_242-b08)
4 OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

卸载步骤如下:
使用 rpm -qa | grep java 命令查看安装包文件,执行结果类似如下( 安装包文件名为:java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64 ):

1 [root@localhost ~]# rpm -aq | grep java
2 java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64
3 python-javapackages-3.4.1-11.el7.noarch
4 tzdata-java-2019c-1.el7.noarch
5 javapackages-tools-3.4.1-11.el7.noarch
6 java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64

使用 rpm -e –nodeps 安装文件名 进行卸载类似如下:

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_64

再次使用 java -version 命令查看

出现bash: java: 未找到命令...表示卸载成功。

(2) 下载JDK

安装JDK(有二种方式手动安装和yum安装,这里采用手动安装)。
  • 首先先下载JDK安装包(Linux版本):

百度网盘方式下载:https://pan.baidu.com/s/1eirKsLe1edrW2Mn55lwvyA 提取码:2h6v

在这里插入图片描述

Oracle官方下载方式:
使用 uname -a 命令查找Linux内核:
在这里插入图片描述
进入Oracle官网:https://www.oracle.com/java/technologies/downloads/下载对应版本的rpm包
在这里插入图片描述
备注:下载需要登入Oracle,如果没有账号需要注册Oracle。

(3) 将文件上传到远程服务器中

这里我使用Xshell7的XFTP上传文件到远程服务器中。

使用 cd /usr/local 命令进入到local路径下:

在这里插入图片描述
使用 mkdir Java 命令创建Java目录,并进入到该目录下:

在这里插入图片描述
使用Xshell7上传文件:
在这里插入图片描述
上传文件:
在这里插入图片描述
使用 ls 命令显示当前目录下的文件:
在这里插入图片描述

(4) 安装JDK

  • 使用 rpm -ivh jdk-8u221-linux-x64.rpm 命令安装JDK

在这里插入图片描述

(5) 配置环境变量

  • 使用 vim /etc/profile 命令编辑配置文件

在这里插入图片描述
键盘按下Insert键进入插入模式
在这里插入图片描述
键盘按↓键,到文件最后一行,插入配置信息
在这里插入图片描述
配置信息如下:

JAVA_HOME=/usr/java/jdk1.8.0_221-amd64 
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME

在这里插入图片描述
键盘按ESC键进入底行模式,然后输入 :wq! 回车
在这里插入图片描述

  • 让配置生效

输入 source /etc/profile 命令即可:

在这里插入图片描述
使用 java -version 命令查看一下,JDK安装成功!
在这里插入图片描述

2.安装Tomcat9

(1) 下载Tomcat9的安装包

百度网盘方式下载:https://pan.baidu.com/s/1eirKsLe1edrW2Mn55lwvyA 提取码:2h6v
在这里插入图片描述
Apche官方下载地址:https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.34/bin/
在这里插入图片描述

(2) 将安装包上传到远程服务器

在/usr/local目录下创建tomcat文件夹,并进入到tomcat文件夹下
在这里插入图片描述
上传tomcat的安装包到tomcat目录下:
在这里插入图片描述
使用 ls 命令查看
在这里插入图片描述

(3) Tomcat的安装与启动

  • 使用 tar -zxvf apache-tomcat-9.0.34.tar.gz 命令解压

在这里插入图片描述
进入到/usr/local/tomcat/apache-tomcat-9.0.34/bin 目录下( startup.sh 为Tomcat的启动Shell脚本,执行Tomcat将启动):
在这里插入图片描述
( shutdown.sh 为Tomcat的关闭Shell脚本,执行Tomcat将关闭):
在这里插入图片描述

进入到/usr/local/tomcat/apache-tomcat-9.0.34/conf 这个目录下是有关Tomcat的所有配置信息,配置信息详细情况可以查看这篇博文进行学习:https://blog.csdn.net/xinshuzhan/article/details/107725450
在这里插入图片描述
使用 vim server.xml 命名编辑server.xml配置文件( server.xml关于Tomcat的配置)
在这里插入图片描述
修改Tomcat的端口为8959( 根据自己的需求进行修改 )
在这里插入图片描述

  • 让防火墙对8959端口进行放行:

如果安装了宝塔Linux面板,直接在安全中进行放行即可
在这里插入图片描述

如果没有可以通过Linux命令进行放行:
使用 iptables-save 命令查看暴露的端口号:
在这里插入图片描述
发现8959并没有放行(暴露)
在这里插入图片描述
通过 firewall-cmd --permanent --add-port=8959/tcp 命令开放端口,然后再通过 sudo firewall-cmd --reload 命名重新加载配置,此时8959端口已经开启
在这里插入图片描述
重新使用 iptables-save 命令查看暴露的端口号:
在这里插入图片描述

  • 启动Tomcat服务器

进入到/usr/local/tomcat/apache-tomcat-9.0.34/bin 目录下,然后通过 ./startup.sh 命令启动Tomcatl服务器。

在这里插入图片描述

  • 关闭Tomcat服务器

在/usr/local/tomcat/apache-tomcat-9.0.34/bin 目录下,通过 ./shutdown.sh 命令关闭Tomcat
在这里插入图片描述

3.运行war包项目

(1) 创建一个JavaEnterprise工程

在这里插入图片描述
修改一下index.jsp文件里面的内容:
在这里插入图片描述
设置Tomact的Application context为hellowar
在这里插入图片描述
maven打包方式为war包:
在这里插入图片描述

maven进行打包:
在这里插入图片描述

(2) 将生成的war包上传到远程服务器Tomcat中的webapp文件中

在这里插入图片描述
修改一下war包的文件名,修改为hellowar.war再进行上传
在这里插入图片描述

进入到/usr/local/tomcat/apache-tomcat-9.0.34/webapps目录下,使用Xshell7的Xftp进行上传

在这里插入图片描述
在这里插入图片描述

上传成功,使用 ls 命令查看一下:
在这里插入图片描述

  • 启动Tomat:

在这里插入图片描述
tomcat启动后war文件会自动被解压
在这里插入图片描述

(3) 端口放行

前面其实已经对Tomcat的端口进行了放行,试了好久一直不行,最后在腾讯云服务器控制台中放行了tomcat端口就可以了。
在这里插入图片描述

腾讯云服务器控制台中的防火墙处,放行tomcat的端口
在这里插入图片描述

在这里插入图片描述

4.运行jar包项目

Jar包方式不需要提供Tomcat,就可以直接通过Java -jar xxx.jar 命名进行启动,因为内部已经内置了一个Tomcat服务器(默认情况下),根据项目的说明可以参照这篇博文: Spring Boot为什么不需要额外安装Tomcat?

(1) 本地部署与运行

创建一个不带模板的Maven项目,项目名为hellojar
在这里插入图片描述

在这里插入图片描述
最后项目结构如下:
在这里插入图片描述

在pom.xml中导入SpringBoot相关依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.dudu</groupId>
    <artifactId>hellojar</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>


    <dependencies>
        <!--SpringBoot框架-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <scope>compile</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.4.5</version>
            </plugin>
        </plugins>
    </build>
</project>

在resouces中创建配置文件,application.yaml如下:
在这里插入图片描述

编写项目启动类HelloJarApplication和HelloController控制类:

HelloJarApplication启动类代码如下:

package com.dudu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@SpringBootApplication
@ServletComponentScan
public class HelloJarApplication {
    public static void main(String[] args) {
        SpringApplication.run(HelloJarApplication.class);
    }
}

HelloController控制类代码如下:

package com.dudu.controller;


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/helloJar")
    public String sayHello() {
        return "hello,Jar包方式进行部署";
    }
}

maven打包:

在这里插入图片描述
打包完成后,会在target目录下生成相应的jar包文件
在这里插入图片描述

通过HelloJarApplication启动类进行启动:
在这里插入图片描述

游览器输入http://localhost:8959/helloJar 进行访问:
在这里插入图片描述

其实我们可以直接通过生成的jar进行启动,操作如下:
在jar所在目录,执行 java -jar hellojar-1.0-SNAPSHOT.jar 命令进行启动
在这里插入图片描述
再次访问效果一致
在这里插入图片描述

(2) 远程部署与运行

本地测试完毕,接下来我们只需要将生成的jar文件上传到我们的公网服务器上,然后执行 java -jar hellojar-1.0-SNAPSHOT.jar 命令就可以进行启动了:

上传文件成功:
在这里插入图片描述
由于8959的端口号已经给Tomcat了,需要将Tomcat停止,这里我通过kill进程的方式进行关闭:
在这里插入图片描述

最后通过 java -jar hellojar-1.0-SNAPSHOT.jar 命令进行启动,项目启动成功:
在这里插入图片描述
个人电脑访问http://公网Ip地址:8959/helloJar 访问成功:
在这里插入图片描述

5.安装Mysql

软件的安装非常的麻烦,其实我们可以通过一些软件,网站一键安装,这里使用宝塔面板来安装Mysql

(1) 宝塔面板的安装

你可以通过这篇博文学习怎么安装Linux centOs7.0安装宝塔面板(保姆级教程)

(2) 宝塔面板安装mysql

软件商店-->搜索mysql-->选择要安装的软件
在这里插入图片描述
这里我选择编译安装->提交-->等待软件安装完成
在这里插入图片描述
软件安装完成后,可以通过选择数据库-->点击root密码-->获取安装mysql的root的密码
在这里插入图片描述
并且还可以修改密码
在这里插入图片描述
放行3306端口号
在这里插入图片描述
安装成功后就可以用命令行的方式进行登入,如下:
在这里插入图片描述

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
9月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
10月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
1719 7
ERPNext 搭建教程:Linux 一键部署与维护
|
10月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
909 13
|
9月前
|
Ubuntu 网络协议 Unix
Linux教程(Ubuntu为蓝本)之Linux介绍篇
SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。[1-2]
|
9月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
11月前
|
关系型数据库 Linux 数据库
Linux系统安装Postgre和Postgis教程
本文详细介绍了PostgreSQL/PostGIS的卸载与安装步骤。卸载部分涵盖Docker、Yum/RPM及源码编译安装的清理方法,包括停止服务、删除容器/包、清理残留文件和环境变量等操作,并强调卸载前需备份数据库数据。安装部分提供在线yum安装和离线源码编译两种方式,前者简单快捷,后者需准备依赖(如gcc、readline-devel等)、创建用户组、初始化数据库及配置访问规则。每步均附带命令示例,确保操作清晰明确。
1572 0
|
11月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
733 0
|
关系型数据库 MySQL Java
Linux基本教程
Linux基本使用
|
8月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
874 1
二、Linux文本处理与文件操作核心命令
|
8月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
495 137