Linux 系统:从安装入门到部署Java应用

文章目录

      • 前言
      • 一、安装VM
      • 二、安装 Linux 操作系统 CentOS 7
      • 三、安装 JDK
      • 四、部署Java Web 应用
      • 五、安装 MySQL
      • 六、部署 Spring Boot 应用

Linux相关安装包链接: https://pan.baidu.com/s/1eirKsLe1edrW2Mn55lwvyA 提取码:2h6v (说明:这是楠哥的资料,基本都是新版本,用起来感觉很友好)
Linux 系统:从安装入门到部署Java应用_第1张图片

前言

  • 为什么要会使用服务器?

因为程序猿写的应用,是要给别人用的。别人怎么用?当然不可能直接访问程序猿的电脑啦,访问的是服务器。 服务器就是一台性能、稳定性、扩展性比普通个人PC机要更强的一台机器,它也需要搭载操作系统,比如Linux、Windows Server等操作系统。

服务器软件大科普:https://blog.csdn.net/qq_41822345/article/details/106788715

  • 个人如何使用服务器?

如果你有钱,去买一个服务器,这样你就可以部署你的程序应用,别人也能访问到你的应用。

如果你和我一样没钱,那就在自己的个人PC机上安装一个虚拟机,用它来搭载Linux等操作系统。

  • 为什么要用VMware?

VMware是一款开源免费的虚拟机。安装上它,就相当于在你的PC机中安装了一台虚拟的计算机(这个计算机包括内存、CPU、硬盘等必须的硬件,只不过都是虚拟的)。

  • 为什么是CentOS版本的Linux?

CentOS是一个开源免费的Linux操作系统。

  • 本文学习安装软件
    • 虚拟机 VMware workstation 15
    • 安装CentOS7
    • 安装 Xshell/Xftp
    • 安装 Java 环境 JDK 8
    • 安装 Tomcat
    • 安装 MySQL 8

一、安装VM

安装简单,每一步看一看,基本不会出现装错的情况。

需要一个安装秘钥,这个亲测可用:CG392-4PX5J-H816Z-HYZNG-PQRG2

二、安装 Linux 操作系统 CentOS 7

1、解压 CentOS7。

2、在VMware中导入解压之后的文件,运行即可(这是已通过iso文件创建好的CentOS,直接使用)

3、虚拟机设置(这一步重要,用于配置固定Ip,每次开启虚拟机时都需要配置网络,否则本地ping不同虚拟机)

默认的网络配置是桥接模式,直接接入当前的网络环境,如果网络不稳定,IP 会变。NAT模式,相当于在 Windows 系统中独立开辟一块新的网络空间,IP 地址固定不变的,无论是否接入外网,都可以访问 CentOS。

Step1:编辑虚拟机设置,将网络适配器修改为NAT模式。点击确定。
Linux 系统:从安装入门到部署Java应用_第2张图片
Step2:编辑虚拟网络编辑器,点击VMnet8,点击确定键。网络配置完毕。(注意:要点确定)Linux 系统:从安装入门到部署Java应用_第3张图片
4、启动虚拟机,用 root 权限登录

用户名:root 密码:123456

5、一些使用习惯设置可以选择跳过。

三、安装 JDK

1、删除 CentOS 自带的 jdk

rpm -qa|grep jdk
rpm -e --nodeps 目标文件名
所以这里删除:
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64

2、通过 Xftp 将jdk安装包拷贝到 CentOS 中

先在usr文件中创建java文件夹,用来存jdk

[root@localhost ~]# cd /usr/local
[root@localhost local]# mkdir java
[root@localhost local]# cd java

在XShell中点击新建文件传输(快捷键Ctrl+Alt+F),即可打开Xftp界面(且路径在当前java文件夹),直接通过鼠标拖拽将目标文件拖拽到虚拟机中。如图:
Linux 系统:从安装入门到部署Java应用_第4张图片

3、通过命令安装 jdk

rpm -ivh jdk-8u221-linux-x64.rpm

4、配环境变量

[root@localhost ~]#vim /etc/profile

在文末添加:(先键盘点击i即可进入编辑模式,添加完之后键盘点击ESC即可进入命令行模式,输入:wq即可保存退出,补充:不要编辑原文本导致出错,输入:q!即可不保存退出)

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

5、让配置生效

[root@localhost ~]# source /etc/profile

四、部署Java Web 应用

1、配置 Tomcat

在usr/local目录下新建文件夹tomcat用来存放Tomcat。
Linux 系统:从安装入门到部署Java应用_第5张图片

2、解压缩

tar -zxvf apache-tomcat-9.0.34.tar.gz

3、进入到bin目录下启动 Tomcat(在windows中是启动.bat文件;Linux是启动.sh文件)

[root@localhost apache-tomcat-9.0.34]# cd bin/
[root@localhost bin]# ./startup.sh 

4、CentOS 开放 8080 端口

  • 检查防火墙状态
firewall-cmd --state

running 表示防火墙是开启的,如果你看到的是 not running,防火墙关闭,则需要开启

systemctl restart firewalld.service
  • 开放 8080 端口(否则访问不了tomcat)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • 重启防火墙
systemctl restart firewalld.service
  • 重新载入配置
firewall-cmd --reload
  • 在虚拟机中访问:localhost:8080 如图:Linux 系统:从安装入门到部署Java应用_第6张图片

  • 在Linux中部署Java Web应用到Tomcat服务器。

    • Step1:在本地IDEA中创建一个Web应用。Linux 系统:从安装入门到部署Java应用_第7张图片

    • Step2:配置Tomcat,启动(启动后就会自动打war包)

    • Step3:在路径…/out/artifacts下拿出war包拖拽到Linux路径…/webapps下。Linux 系统:从安装入门到部署Java应用_第8张图片

    • 重启tomcat,输入ip:端口:war包名即可访问。Linux 系统:从安装入门到部署Java应用_第9张图片

五、安装 MySQL

1、通过 Xftp 将 MySQL 安装包拷贝到 Linux

2、解压缩

tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar 

3、安装 common、libs、client、server

4、删除自带的 mariadb

rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

5、安装命令行

rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm --nodeps --force

6、初始化 MySQL

mysqld --initialize

7、授权防火墙

chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;

8、查看数据库的初始化密码

cat /var/log/mysqld.log | grep password

9、登录数据库

mysql -uroot -p

10、修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

11、使用新密码登录

12、开启远程访问

create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

13、开放 3306 端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

14、MySQL 安装默认使用美国的时区,北京时间比美国晚 8 小时

set global time_zone='+8:00';

15、创建数据表

create database test character set utf8 collate utf8_general_ci;
use test;
create table user(
    id int primary key auto_increment,
    name varchar(22),
    birthday datetime
);
insert into user(name, birthday) VALUES ('小明','1999-01-01');
insert into user(name, birthday) VALUES ('小红','2000-01-01');

六、部署 Spring Boot 应用

IDEA 启动 Spring Boot ,将 Spring Boot 应用打成 jar包,通过命令行部署。

  • 为什么SpringBoot应用是Jar包?而Web应用是jar包?

jar包 因为SpringBoot已经集成了Tomcat,(内嵌Tomcat需要提供jar包)
war包 则不一样,前面的Web应用部署需要自己提供Tomcat,需要打war包。(配置Tomcat需要提供war包。)

  因此如果是 SSM应用 或者 Java WEB应用(非 SpringBoot应用)需要通过 war 包进行部署,先把你的应用打成 war 包,丢到外置的 Tomcat 中,启动 Tomcat 服务以部署应用,进而访问你的应用。如果是 SpringBoot应用,则仅仅需要打成 jar包,不需要进行操作,通过在当前jar包存放路径运行如下命令即可自动部署并访问你的应用。

java -jar xxx.jar

1、将 Spring Boot 应用打包(maven→package)

注意:①项目需要支持打成Jar包,pom.xml中添加

 <packaging>jar</packaging>

②项目需要支持自动生成主清单属性,pom.xml中添加

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

在运行maven→package的时候,需要自动生成这些主清单属性,运行java -jar xxx.jar时才会根据主清单属性找到启动类,从而启动程序。

2、通过命令行启动 jar 即可

java -jar demo.jar

你可能感兴趣的:(八.编程工具篇,三.Java虚拟机篇,一.JAVA基础篇)